Snowpipe 비용

Snowpipe의 서버리스 컴퓨팅 모델을 사용하면 사용자는 가상 웨어하우스를 관리할 필요 없이 모든 크기의 로드를 시작할 수 있습니다. 대신, Snowflake가 컴퓨팅 리소스를 제공 및 관리하여 현재 Snowpipe 로드에 따라 용량을 자동으로 확장하거나 감소합니다. 계정에는 실제 컴퓨팅 리소스 사용량을 기준으로 요금이 부과되며, 이는 활성 상태일 때 크레딧이 사용되어 유휴 상태가 되거나 과도하게 사용될 수 있는 고객 관리 가상 웨어하우스와 다릅니다.

이 항목의 내용:

리소스 사용 및 관리 오버헤드

Snowflake는 Snowpipe가 데이터 파일을 능동적으로 큐에 추가하고 처리할 때 초당/코어당 세분화를 통해 계정의 모든 파이프에 대한 로드의 리소스 사용량을 추적합니다. 코어당 이란 컴퓨팅 서버의 물리적 CPU 코어를 나타냅니다. 그리고 기록된 사용량이 Snowflake 크레딧으로 변환되어 계정 청구서에 표시됩니다.

참고

다중 스레드 클라이언트 애플리케이션을 사용하면 데이터 파일을 병렬로 제출할 수 있으므로, 추가 서버를 시작하고 데이터를 더욱 빠르게 로드할 수 있습니다. 그러나 실제 필요한 전체 컴퓨팅 시간은 단일 스레드 클라이언트 애플리케이션을 사용할 때와 동일하며, 단지 더 많은 내부 Snowpipe 서버로 분산되는 것입니다.

데이터 파일 크기 및 스테이징 빈도와 관련된 결정은 Snowpipe의 비용과 성능에 영향을 줍니다. 권장 모범 사례는 연속 데이터 로드(즉, Snowpipe) 및 파일 크기 조정 를 참조하십시오.

Snowpipe에 부과되는 사용 비용에는 리소스 사용 요금뿐 아니라 간접비가 포함됩니다. 이러한 오버헤드는 이벤트 알림 또는 REST API 호출을 통한 데이터의 로드 여부에 관계없이 부과됩니다. 이 간접비는 청구서에 Snowpipe 요금으로 나타납니다.

Snowpipe에서 사용하는 컴퓨팅 시간당 크레딧 수를 알아보려면 Snowflake 서비스 사용 테이블 에서 “서버리스 기능 크레딧 테이블”을 참조하십시오.

Snowpipe 요금 예상하기

Snowpipe 로드는 매우 다양한 요소로 구분되므로, Snowflake가 샘플 비용을 제공하는 것은 매우 어렵습니다. 파일 형식 및 크기, COPY 문의 복잡성(변환에 사용되는 SELECT 문 포함)은 모두 Snowpipe 로드에 부과되는 리소스 소비 및 파일 오버헤드에 영향을 줍니다.

그러므로 일반적인 로드 세트를 수행하여 실험을 통해 향후 요금을 예상하는 것이 권장됩니다.

데이터 로드 기록 및 비용 보기

계정 관리자(ACCOUNTADMIN 역할의 사용자) 또는 MONITOR USAGE 전역 권한이 부여된 역할을 보유한 사용자는 Snowsight, Classic Console 또는 SQL을 사용하여 지정된 날짜 범위 내에서 Snowflake 계정에 청구된 크레딧을 확인할 수 있습니다.

계정의 Snowpipe 데이터 로딩과 관련하여 청구된 크레딧을 살펴보려면:

Snowsight:

Select Admin » Cost Management

Classic Console:

Account 계정 탭 » Billing & Usage 을 클릭합니다.

Snowpipe 사용량은 이름이 파란색 Snowflake 로고(텍스트 없음) SNOWPIPE 인 Snowflake가 제공하는 특수 웨어하우스로 표시됩니다.

SQL:

다음 중 하나를 쿼리합니다.

  • PIPE_USAGE_HISTORY 테이블 함수(Snowflake Information Schema).

  • (Account Usage 의) PIPE_USAGE_HISTORY 뷰.

    PIPE_USAGE_HISTORY 뷰에 대해 다음 쿼리를 실행할 수 있습니다.

    쿼리: Snowpipe 비용 기록(일별, 오브젝트별)

    이 쿼리는 파이프와 지난 30일간 하루 단위로 나누어 이 서비스를 통해 사용된 크레딧 볼륨의 전체 목록을 제공합니다. 크레딧 사용의 불규칙성 또는 지속적으로 높은 사용량은 추가로 조사해봐야 할 대상입니다.

    SELECT TO_DATE(start_time) AS date,
      pipe_name,
      SUM(credits_used) AS credits_used
    FROM snowflake.account_usage.pipe_usage_history
    WHERE start_time >= DATEADD(month,-1,CURRENT_TIMESTAMP())
    GROUP BY 1,2
    ORDER BY 3 DESC;
    
    Copy

    쿼리: Snowpipe 기록 및 m일 평균

    이 쿼리는 작년에 Snowpipe에서 사용된 평균 일일 크레딧을 주 단위로 나누어 보여줍니다. 이는 그 해의 일일 평균 이상을 식별하는 데 도움이 될 수 있으므로 사용량의 급증이나 예상치 못한 변화를 조사할 수 있습니다.

    WITH credits_by_day AS (
      SELECT TO_DATE(start_time) AS date,
        SUM(credits_used) AS credits_used
      FROM snowflake.account_usage.pipe_usage_history
      WHERE start_time >= DATEADD(year,-1,CURRENT_TIMESTAMP())
      GROUP BY 1
      ORDER BY 2 DESC
    )
    
    SELECT DATE_TRUNC('week',date),
      AVG(credits_used) AS avg_daily_credits
    FROM credits_by_day
    GROUP BY 1
    ORDER BY 1;
    
    Copy

참고

리소스 모니터 를 사용하여 가상 웨어하우스 크레딧 사용을 관리할 수 있지만, 파란색 Snowflake 로고(텍스트 없음) SNOWPIPE 웨어하우스 등 Snowflake에서 제공하는 웨어하우스의 크레딧 사용을 관리하기 위한 용도로는 사용할 수는 없습니다.