Snowpipe 비용
Snowpipe 비용
Snowpipe의 서버리스 컴퓨팅 모델을 사용하면 가상 웨어하우스를 관리하지 않고도 어떤 크기의 로드든 시작할 수 있어요. 대신 Snowflake가 컴퓨팅 리소스를 제공하고 관리하며, 현재 Snowpipe 로드에 따라 용량을 자동으로 늘리거나 줄여요.
출처: Documentation
본문
중요 — Snowpipe 수집은 GB당 고정 크레딧 금액을 기준으로 청구돼요. 이 단순화된 모델은 더 예측 가능한 데이터 로드 비용을 제공하고 비용 추정을 단순화해요. 이전 비용 모델은 두 구성 요소가 있었어요. 데이터 로드에 사용된 실제 컴퓨팅 리소스(초당/코어당 측정)와 파일 1,000개당 요금이에요.
이 크레딧당-GB 청구 모델은 Standard, Enterprise, Business Critical, VPS(Virtual Private Snowflake)를 포함한 모든 Snowflake 에디션에 적용돼요.
CSV, JSON, XML 같은 텍스트 파일은 압축되지 않은 크기를 기준으로 청구돼요. Parquet, Avro, ORC 같은 이진 파일은 압축 여부와 관계없이 관찰된 크기를 기준으로 청구돼요.
자세한 내용은 Snowflake 서비스 소비 테이블을 참고해요.
리소스 소비와 관리 오버헤드
크레딧당-GB 요금 모델에서 Snowpipe 청구는 로드한 데이터 GB당 고정 크레딧 금액을 기준으로 계산돼요. 이 단순화된 접근 방식은 이전에 초당/코어당 세분성으로 측정되던 컴퓨팅 활용도를 추적하거나 관리할 필요가 없다는 뜻이에요.
파일 크기와 스테이징 빈도는 Snowpipe 성능에 영향을 줄 수 있어요. 권장 모범 사례는 연속 데이터 로드 — 즉 Snowpipe — 와 파일 크기를 참고해요.
Snowpipe 요금 추정
Snowpipe 요금 추정은 간단해요. 예상 데이터 볼륨과 GB당 고정 크레딧 금액을 사용해 예상 비용을 계산할 수 있어요. CSV, JSON, XML 같은 텍스트 파일은 압축되지 않은 크기를 기준으로 청구되므로, 텍스트 파일의 압축 비율을 알아야 해요.
이 계산을 관련 Account Usage 뷰의 BILLED_BYTES 열을 검사해 실제 사용량과 대조해 확인할 수 있어요. BILLED_BYTES 열은 2025_05 BCR 번들에서 도입됐어요.
특정 워크로드의 실제 크레딧 소비를 이해하려면 일반적인 로드 집합을 수행해 실험해 보는 것을 권장해요.
데이터 로드 기록과 비용 보기
계정 관리자(ACCOUNTADMIN 역할을 가진 사용자) 또는 MONITOR USAGE 전역 권한이 부여된 역할을 가진 사용자는 Snowsight 또는 SQL을 사용해 지정된 날짜 범위 내에서 Snowflake 계정에 청구된 크레딧을 볼 수 있어요.
가끔 데이터 압축(compaction) 및 유지 관리 프로세스가 Snowflake 크레딧을 소비할 수 있어요. 예를 들어 반환된 결과에서 BYTES_INSERTED가 0이고 FILES_INSERTED가 0인데 크레딧을 소비한 것으로 표시될 수 있어요. 이는 데이터가 로드되고 있지 않지만 데이터 압축 및 유지 관리 프로세스가 일부 크레딧을 소비했다는 뜻이에요.
계정의 Snowpipe 데이터 로드에 청구된 크레딧을 보려면:
- Snowsight: 탐색 메뉴에서 Admin » Cost management를 선택해요.
- SQL: 다음 중 하나를 조회해요.
- (Snowflake 정보 스키마의) PIPE_USAGE_HISTORY 테이블 함수.
- (Account Usage의) PIPE_USAGE_HISTORY 뷰.
PIPE_USAGE_HISTORY 뷰에 대해 다음 쿼리를 실행할 수 있어요. BYTES_BILLED 열을 사용해 볼륨 기준으로 비용을 확인할 수 있어요.
쿼리: Snowpipe 비용 기록(일별, 객체별)
다음 쿼리는 전체 파이프 목록과 지난 30일 동안 서비스를 통해 소비한 크레딧 볼륨을 일별로 구분해 제공해요.
SELECT TO_DATE(start_time) AS date,
pipe_name,
SUM(credits_used) AS credits_used,
SUM(bytes_billed) AS bytes_billed_total
FROM snowflake.account_usage.pipe_usage_history
WHERE start_time >= DATEADD(month,-1,CURRENT_TIMESTAMP())
GROUP BY 1,2
ORDER BY bytes_billed_total DESC;
쿼리: Snowpipe 기록 및 m일 평균
다음 쿼리는 지난 1년 동안 Snowpipe가 소비한 일일 평균 크레딧을 주별로 그룹화해 보여줘요. 이 쿼리는 연간 일일 소비 평균의 이상을 식별하는 데 도움이 되어, 소비의 갑작스러운 증가나 예상치 못한 변화를 조사할 수 있게 해줘요.
WITH credits_by_day AS (
SELECT TO_DATE(start_time) AS date,
SUM(credits_used) AS credits_used,
SUM(bytes_billed) AS bytes_billed_total
FROM snowflake.account_usage.pipe_usage_history
WHERE start_time >= DATEADD(year,-1,CURRENT_TIMESTAMP())
GROUP BY 1
)
SELECT DATE_TRUNC('week',date),
AVG(credits_used) AS avg_daily_credits,
AVG(bytes_billed_total) AS avg_daily_bytes_billed
FROM credits_by_day
GROUP BY 1
ORDER BY 1;
참고 — 리소스 모니터는 가상 웨어하우스 크레딧 사용량을 제어해요. 그러나 SNOWPIPE 웨어하우스를 포함한 Snowflake 제공 웨어하우스의 크레딧 사용량을 제어하는 데는 사용할 수 없어요.