동적 테이블의 비용 이해하기

이 항목에서는 동적 테이블과 관련된 컴퓨팅 및 저장 비용에 대한 개요를 제공합니다. Snowflake 비용에 대한 일반적인 정보는 전체 비용 파악하기 섹션을 참조하십시오.

컴퓨팅 비용

동적 테이블에는 가상 웨어하우스와 클라우드 서비스 컴퓨팅이라는 두 가지 컴퓨팅 비용이 발생합니다.

동적 테이블을 새로 고치려면 가상 웨어하우스 가 필요합니다. 즉, 예약 및 수동 새로 고침을 모두 포함하여 초기화 및 새로 고칠 때 기본 오브젝트에 대한 쿼리를 실행합니다. 이러한 작업은 크레딧 을 소비하는 컴퓨팅 리소스를 사용합니다.

또한 동적 테이블은 기본 오브젝트의 변경 사항과 가상 웨어하우스를 호출해야 하는지 여부를 식별하기 위해 클라우드 서비스 컴퓨팅 이 필요합니다. 변경 사항이 확인되지 않으면 새로 고칠 데이터가 없으므로 가상 웨어하우스 크레딧이 소모되지 않습니다. 동적 테이블 쿼리에서 기본 오브젝트의 변경 사항이 필터링되는 경우가 있을 수 있습니다. 이러한 상황에서는 동적 테이블을 새로 고쳐 변경 사항이 적용 가능한지 확인하기 때문에 가상 웨어하우스 크레딧이 소모됩니다.

연관된 가상 웨어하우스가 일시 중단되고 기본 오브젝트에 대한 변경 사항이 식별되지 않으면 일시 중단된 가상 웨어하우스는 호출되지 않고 크레딧이 소모되지 않습니다. 반대로, 변경 사항이 확인되면 가상 웨어하우스가 자동으로 재개되어 업데이트를 처리합니다.

동적 테이블 새로 고침은 구성된 목표 지연 에 의해 수행됩니다. 목표 지연 시간이 낮은 동적 테이블 파이프라인은 더 자주 새로 고쳐지므로 더 많은 컴퓨팅 비용이 발생합니다.

Snowsight 의 Refresh History 탭을 사용하여 가상 웨어하우스 크레딧이 소비되었는지 확인할 수 있습니다.

  1. 탐색 메뉴에서 Monitoring » Dynamic Tables 를 선택합니다.

  2. 동적 테이블을 선택하고 Refresh History 탭으로 이동합니다. 웨어하우스를 사용하여 업데이트한 새로 고침을 보려면 Warehouse used only 확인란을 선택합니다.

동적 테이블 파이프라인과 관련된 비용을 명확하게 파악하려면 Snowflake는 전용 웨어하우스를 사용하여 동적 테이블을 테스트하여 동적 테이블의 특성에 따른 가상 웨어하우스 사용량을 격리할 수 있도록 하는 것을 권장합니다. 비용 기준선을 설정한 후 동적 테이블을 공유 웨어하우스로 이동할 수 있습니다.

저장소 비용

동적 테이블에는 구체화된 결과를 저장하기 위한 저장소가 필요합니다. 일반 테이블과 마찬가지로 Time Travel, Fail-safe 저장소 및 복제 기능에 대한 추가 저장소 비용이 발생할 수 있습니다.

이 섹션에서는 동적 테이블에 대한 다음 저장소 고려 사항에 대해 설명합니다.

이 저장소에 비용이 발생하는 방식에 대한 자세한 내용은 저장소 비용 이해하기데이터 저장소 고려 사항 를 참조하십시오.

Time Travel 및 Fail-safe 저장소

Snowflake Time Travel을 사용하면 특정 시점의 동적 테이블의 이전 버전에 액세스하고 쿼리할 수 있으며, 이를 통해 데이터의 과거 추세, 변경 및 변칙에 대한 인사이트를 얻는 데 도움이 될 수 있습니다. 자주 새로 고치면 Time Travel 데이터의 축적이 증가하여 전체 저장소 사용량이 늘어날 수 있다는 점에 유의하십시오. 자세한 내용은 Time Travel 이해 및 사용하기 섹션을 참조하십시오.

Fail-safe 기능은 데이터 손실이나 손상으로부터 동적 테이블을 보호하는 데 유용합니다. 구성된 Fail-safe 기간에 따라 추가 저장소 요금이 부과될 수 있습니다.

동적 테이블 복제

동적 테이블은 계정 간 및 리전 간 복제를 지원하므로 재해 복구 또는 데이터 공유를 위해 기본 데이터베이스에서 보조 데이터베이스로 데이터를 복사할 수 있습니다. 이는 재해 복구를 위한 장애 조치 준비 전략으로 사용되거나 읽기 전용 목적으로 배포 간에 데이터를 공유하는 수단으로 사용될 수 있습니다. 동적 테이블과 함께 복제를 사용하면 복제 비용 이 발생합니다. 자세한 내용은 복제 및 동적 테이블 섹션을 참조하십시오.

일시 중단된 동적 테이블

일시 중단된 동적 테이블은 표준 저장소 요금 외에 추가 비용이 발생하지 않으며 컴퓨팅 리소스를 소비하지 않습니다. 일시 중단된 테이블과 상호 작용하는 진행 중인 유지 관리 작업이나 예약된 작업이 있는 경우 컴퓨팅 리소스가 소모될 수 있습니다.

일시적 동적 테이블

Snowflake는 일반 테이블과 유사하게 명시적으로 삭제될 때까지 지속되는 일시적 동적 테이블을 지원하며, 적절한 권한을 가진 모든 사용자가 Fail-safe 기간 없이 사용할 수 있습니다. 일시적 동적 테이블은 영구 테이블이 제공하는 것과 동일한 수준의 데이터 보호 및 복구가 필요하지 않은 일시적 데이터에 가장 적합하며, Fail-safe 저장소에 대한 저장소 비용을 절감하는 데 도움이 됩니다.

증분 새로 고침 작업을 위한 추가 저장소

증분 새로 고침 작업의 경우 동적 테이블은 테이블 내의 각 행을 식별하기 위한 추가적인 내부 메타데이터 열을 유지 관리합니다. 내부 행 식별자는 행당 일정한 양의 저장소를 소비하며 테이블의 행 수에 따라 저장소 비용이 선형적으로 증가합니다(열 수와 무관). 열 수가 매우 적은 테이블의 경우 동등한 CTAS 테이블에 비해 저장소가 대폭 증가하거나 현저하게 증가할 수 있습니다. 더 넓은 동적 테이블에서는 이 효과가 덜 두드러집니다.

새로 고침 일정 비용

동적 테이블이 새로 고쳐지는 주기는 전체 또는 증분 여부와 관계없이 전체 비용에 영향을 미칩니다. 이 섹션에서는 새로 고침 일정을 결정할 때 고려해야 할 요소에 대해 설명합니다(모든 새로 고침이 비어 있지 않다고 가정).

참고

원본이 변경되지 않은 경우 새로 고침에 소요되는 비용은 비교적 저렴합니다. 자세한 내용은 이 항목의 컴퓨팅 비용 섹션을 참조하십시오.

전체 새로 고침 일정

전체 새로 고침 비용은 일반적으로 검색된 데이터와 새로 고침 빈도에 따라 달라집니다. 비용을 절감하려면 필요할 때만 동적 테이블을 새로 고칠 수 있습니다. 예를 들어, 영업 시간 외에는 동적 테이블을 일시 중단할 수 있습니다. 정확한 타이밍 제어를 위해 동적 테이블에 대한 다운스트림 목표 지연 을 설정하고 작업 에서 수동 새로 고침 을 사용하여 사용자 지정 일정을 자동화합니다.

증분 새로 고침 일정

증분 새로 고침 비용은 일반적으로 원본 오브젝트의 변경량에 비례하며, 여기에 약간의 고정 오버헤드가 추가됩니다.

오버헤드가 낮으면, 큰 단점 없이 높은 새로 고침 빈도를 설정할 수 있습니다. 즉, 최상의 결과를 얻으려면 자주 새로 고칩니다. 예를 들어, 단순 SELECT ... FROM ... WHERE 동적 테이블은 새로 고침 사이에 변경된 행만 처리하므로 오버헤드가 최소화되고 낮은 추가 비용으로 자주 실행할 수 있습니다.

오버헤드가 높으면 높은 새로 고침 빈도에 따른 크레딧 소비와 최신성에 따른 비즈니스 이점 간의 균형을 맞춰야 합니다. 예를 들어, 조인이 적용된 동적 테이블에서 한 테이블의 변경 사항은 다른 테이블과 조인되어야 합니다. 일련의 변경 사항이 아무리 작더라도 이 조인은 일반적으로 실행하는 데 최소한의 비용이 듭니다. 이 오버헤드가 크다면 새로 고침 빈도가 증가함에 따라 누적될 수 있습니다.