C.W.K.
Stream
Lesson 05 of 06 · published

비용 — DuckDB 가 Snowflake 이길 때 (그리고 반대)

~10 min · cost, production, tools

Level 0구경꾼
0 XP0/47 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

가장 간과되는 production 관심사

클라우드 warehouse 가 멋지고 초당 청구. 같은 워크로드가 single-machine DuckDB stack 에서 월 $50, Snowflake 에서 월 $5,000 일 수 있어 — 또는 모양에 따라 반대. 어느 게 어느 건지 아는 게 2026 진짜 데이터 엔지니어의 일부.

DuckDB / Polars on single machine 이 이길 때

  • 데이터 disk 에 < 500GB 고 single fat 머신이 워크로드 fit.
  • 워크로드가 batch (하루 몇 cron 작업) — 지속 인터랙티브 query 아님.
  • 동시성 낮음 (분석가 한 명, 대시보드 몇 개).
  • 이미 운영 부담 가졌거나 가지고 싶음.

클라우드 warehouse 가 이길 때

  • 많은 분석가와 BI 도구의 많은 동시 query.
  • 데이터 > 1TB 또는 연 50% 성장.
  • 인프라 안 돌리고 싶음 (DBA 없음, platform 팀 없음).
  • Cross-region 복제, 깊은 BI 도구 통합, 자동 scaling 필요.

자주 이기는 중간

Dev 와 ad-hoc 분석엔 local DuckDB; BI 도구가 query 하는 production mart 엔 진짜 warehouse. Storage 공유 (S3 / GCS / R2 의 Parquet), compute layer 가 consumer 에 옳은 거. 이 분리가 dev 비용 0 가깝게 유지하면서 production 이 warehouse 의 동시성 + 신뢰성 받게 함.

Code

Production warehouse 가 읽는 같은 Parquet 을 노트북-on-DuckDB 로 읽기·python
import duckdb

con = duckdb.connect()
con.execute("INSTALL httpfs; LOAD httpfs;")
con.execute("""
    SET s3_region='us-east-1';
    SET s3_access_key_id='...';
    SET s3_secret_access_key='...';
""")

# 같은 Parquet, 같은 query, 다른 compute — production S3 lake 에 대해 실행
result = con.sql('''
    SELECT date_trunc('month', order_date) AS month,
           SUM(amount_usd) AS revenue
    FROM 's3://my-warehouse/orders/year=2026/**/*.parquet'
    GROUP BY 1 ORDER BY 1
''').to_df()

External links

Exercise

지난달 warehouse 비용 리포트 가져와 (대부분 warehouse 에 있음). 가장 비싼 query / model 5 개에 대해 묻기: 이게 노트북 DuckDB 에서 초 단위로 돌아? Yes 면 warehouse 에 두는 이유 뭐? 가끔 답이 옳음 (동시성, governance); 가끔 그냥 관성.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.