비용 인사이트를 활용한 비용 절감¶
Snowflake는 특정 계정 내에서 비용에 적합하도록 Snowflake를 최적화할 수 있는 기회를 파악할 수 있는 비용 인사이트를 제공합니다. 이러한 인사이트는 매주 계산되고 업데이트됩니다.
각 인사이트는 Snowflake를 최적화하여 얼마나 많은 크레딧 또는 테라바이트를 절약할 수 있는지를 나타냅니다.
참고
비용 인사이트를 보려면 ACCOUNTADMIN 역할이 부여되어야 합니다.
Cost Insights 타일에 액세스하는 방법은 다음과 같습니다.
Snowsight 에 로그인합니다.
ACCOUNTADMIN 역할로 전환합니다.
탐색 메뉴에서 Admin » Cost Management 를 선택합니다.
Account Overview 탭을 선택합니다.
Cost insights 타일을 찾습니다.
다음 각 인사이트에는 지출을 최적화하는 방법에 대한 제안이 포함되어 있습니다.
- 인사이트: 자동 클러스터링이 있는 거의 사용되지 않는 테이블
이 인사이트는 이 계정에서 주당 쿼리 횟수가 100회 미만인 자동 클러스터링 이 적용된 테이블을 식별합니다.
테이블에 대해 자동 클러스터링을 활성화하면 해당 테이블에 대한 쿼리 성능이 크게 향상될 수 있습니다. 그러나 테이블이 변경되면 Snowflake는 서버리스 컴퓨팅 리소스를 사용하여 우수한 클러스터링 상태를 유지해야 합니다. 테이블에 대해 실행되는 쿼리 수가 미미한 경우, 발생하는 비용이 성능 향상을 정당화하지 못할 수 있습니다.
권장 사항: 이러한 테이블의 경우 자동 클러스터링을 비활성화하는 것이 좋습니다. 자동 클러스터링을 끄기 전에 테이블이 재해 복구 목적으로만 존재하는지 아니면 데이터 공유를 통해 다른 Snowflake 계정에서 사용하기 위해 존재하는지 확인하여 자주 액세스하지 않는 이유를 설명할 수 있습니다.
예를 들어, 이름이
t1
인 테이블에 대해 자동 클러스터링을 사용하지 않으려면 다음 명령을 실행합니다.ALTER TABLE t1 SUSPEND RECLUSTER;
- 인사이트: 거의 사용되지 않는 구체화된 뷰
이 인사이트는 이 계정에서 일주일에 10회 미만으로 쿼리되는 구체화된 뷰 를 식별합니다.
구체화된 뷰를 생성하면 특정 쿼리 패턴에 대한 성능이 크게 향상될 수 있습니다. 그러나 구체화된 뷰는 추가 저장소 비용과 구체화된 뷰를 새로운 데이터로 최신 상태로 유지하는 것과 관련된 서버리스 컴퓨팅 비용이 발생합니다. 구체화된 뷰에 대해 실행되는 쿼리 수가 미미하다면, 발생하는 비용이 성능 개선을 정당화하지 못할 수도 있습니다.
권장 사항: 구체화된 뷰에 대한 업데이트를 제거하거나 중단하는 것이 좋습니다. 구체화된 뷰를 삭제하기 전에 테이블이 재해 복구 목적으로만 존재하는지 아니면 데이터 공유를 통해 다른 Snowflake 계정에서 사용하기 위해 존재하는지 확인하여 자주 액세스하지 않는 이유를 설명할 수 있습니다.
예를 들어, 이름이
mv1
인 구체화된 뷰를 삭제하려면 다음 명령을 실행합니다.DROP MATERIALIZED VIEW mv1;
- 인사이트: 거의 사용되지 않는 검색 최적화 경로
이 인사이트는 이 계정에서 주당 10회 미만 사용되는 검색 최적화 액세스 경로를 식별합니다.
검색 최적화는 검색 액세스 경로를 사용하여 특정 유형의 지점 조회 및 분석 쿼리의 성능을 개선합니다. 테이블에 검색 최적화를 추가하면 이러한 쿼리의 성능을 크게 향상할 수 있습니다. 그러나 검색 최적화는 저장소를 최신 상태로 유지하는 것과 관련된 서버리스 컴퓨팅 비용뿐만 아니라 추가 저장소 비용이 발생합니다. 검색 최적화를 통해 생성된 검색 액세스 경로를 사용하는 쿼리 수가 미미한 경우 발생하는 비용이 성능 개선 효과를 정당화하지 못할 수 있습니다.
권장 사항: 테이블에서 검색 최적화를 제거하는 것이 좋습니다. 검색 최적화를 제거하기 전에 테이블이 재해 복구 목적으로만 존재하는지 아니면 데이터 공유를 통해 다른 Snowflake 계정에서 사용하기 위해 존재하는지 확인하여 자주 액세스하지 않는 이유를 설명할 수 있습니다.
예를 들어, 이름이
t1
인 테이블에서 검색 최적화 프로그램을 완전히 제거하려면 다음 명령을 실행합니다.ALTER TABLE t1 DROP SEARCH OPTIMIZATION;
- 인사이트: 쿼리되지 않는 Large 테이블
이 인사이트는 지난주에 이 계정에서 쿼리되지 않은 대규모 테이블을 식별합니다.
권장 사항: 사용하지 않는 테이블을 삭제하면 워크로드에 영향을 주지 않으면서 저장소 비용을 절감할 수 있습니다. 테이블을 삭제하기 전에 테이블이 재해 복구 목적으로만 존재하는지 아니면 데이터 공유를 통해 다른 Snowflake 계정에서 사용하기 위해 존재하는지 확인하여 자주 액세스하지 않는 이유를 설명할 수 있습니다.
예를 들어, 테이블 이름
t1
을 삭제하려면 다음 명령을 실행합니다.DROP TABLE t1;
- 인사이트: 데이터는 쓰지만 읽지 않는 100 GB 를 초과하는 테이블
이 인사이트는 이 계정에서 데이터가 쓰여졌지만 읽지 않은 테이블을 식별합니다.
권장 사항: 데이터를 읽지 않는다면 데이터를 저장하고 새로운 데이터를 Snowflake에 수집하는 것은 낭비일 수 있습니다. 이러한 테이블을 삭제하여 저장소 비용을 절약하거나 새로운 데이터 쓰기를 중지하여 수집에 소비되는 크레딧을 절약하십시오. 테이블을 삭제하기 전에 테이블이 재해 복구 목적으로만 존재하는지 아니면 데이터 공유를 통해 다른 Snowflake 계정에서 사용하기 위해 존재하는지 확인하여 읽지 않는 이유를 설명할 수 있습니다.
예를 들어, 테이블 이름
t1
을 삭제하려면 다음 명령을 실행합니다.DROP TABLE t1;
- 인사이트: 수명이 짧은 영구 테이블
이 인사이트는 생성 후 24시간 이내에 삭제된 100 GB 를 초과하는 테이블을 식별합니다.
권장 사항: 데이터를 단기간만 보존해야 하는 경우 향후 테이블을 위해 임시 테이블이나 일시적 테이블 을 사용하는 것이 좋습니다. 임시 테이블이나 일시적 테이블을 사용하면 Fail-safe 및 Time Travel 비용 을 절약할 수 있습니다.
예를 들어, 새 일시적 테이블
t1
을 생성하려면 다음 명령을 실행합니다.CREATE TRANSIENT TABLE t1;
- 인사이트: 멀티 클러스터 웨어하우스의 비효율적인 사용 현황
이 인사이트는 멀티 클러스터 웨어하우스에 대해 최소 및 최대 클러스터 수를 동일한 값으로 설정하여 수요에 대응하기 위해 웨어하우스를 확장하거나 축소할 수 없는 경우를 식별합니다. 사용량이 적은 기간에 멀티클러스터 웨어하우스를 축소할 수 있다면 크레딧을 절약할 수 있습니다.
권장 사항: 사용량이 적은 기간에는 멀티클러스터 웨어하우스를 축소할 수 있도록 최소 클러스터 수를 낮추는 것을 고려하십시오.
예를 들어,
wh1
이라는 웨어하우스에 대해 최소 클러스터 수를 1로 설정하려면 다음 명령을 실행합니다.ALTER WAREHOUSE wh1 SET MIN_CLUSTER_COUNT = 1;