Snowflake MigrationClickHouse Workshops
Snowflake 마이그레이션

NYC Taxi Snowflake 마이그레이션 랩

프로덕션 형태의 Snowflake 워크로드를 ClickHouse Cloud로 마이그레이션한다 — 5천만 행, dbt Medallion 파이프라인, 7개의 분석 쿼리, 라이브 프로듀서, BI 대시보드 — 그리고 자신의 결정을 방어한다.

NYC Taxi Snowflake 마이그레이션 랩 플레이북에 온 것을 환영한다. 이 랩은 프로덕션급 Snowflake 워크로드를 ClickHouse Cloud로 마이그레이션하는 방법을 배우는 ClickHouse 솔루션 아키텍트와 파트너를 위한 것이다. 대상은 5천만 행 규모의 합성 NYC 택시 승차 스트림, 완전한 Medallion dbt 파이프라인, 7개의 복잡한 분석 쿼리, 라이브 데이터 프로듀서, 그리고 Superset 대시보드로, 실제 고객 프로젝트에서 마주칠 워크로드를 시뮬레이션하도록 만들어졌다.

이 워크샵이 필요한 이유

이 랩의 목적은 한 웨어하우스에서 다른 웨어하우스로 행을 옮기는 것이 아니다 — 복사 스크립트로도 할 수 있는 일이다. 목적은 실제 마이그레이션이 강제하는 결정을 내리고 방어하는 것이다. 각 테이블에 어떤 MergeTree 엔진 계열이 맞는지, 값을 하는 ORDER BY 키를 어떻게 설계하는지, 그리고 어떤 Snowflake SQL 관용구에 직접적인 ClickHouse 대응물이 없는지. 이 랩을 끝내면 Snowflake 워크로드를 프로파일링하고, 올바른 엔진과 스키마 결정을 내리고, 재개 가능한 스크립트로 프로덕션 스타일의 마이그레이션을 실행하고, ClickHouse에서 dbt 파이프라인을 재구축하고, 7개 쿼리 벤치마크로 비즈니스 케이스를 정량화하고, 그 모든 결정을 설명하고 방어할 수 있게 된다.

이 플레이북은 세 개의 트랙으로 구성된다. Learner 트랙은 직접 진행하는 수업이다. Instructor 트랙은 같은 모듈에 대한 진행자용 동반 자료로, 타이밍, 토크 트랙, 흔한 실패, 리셋 절차를 담는다. Reference는 상시 참고 자료 — 엔진, dbt, 대시보드 가이드 — 로, 순서대로 읽는 것이 아니라 어떤 모듈과도 함께 읽도록 만들어졌다.

랩 아키텍처: 합성 생성기와 라이브 프로듀서가 Snowflake에 데이터를 공급하고, 일회성 Python 마이그레이션이 이를 ClickHouse Cloud로 옮기며, 양쪽 모두에 Superset 대시보드가 붙는다

모듈

#LearnerInstructor결과
00환경 설정노트툴체인 설치, 두 클라우드 트라이얼 계정 생성, 리포지토리 클론, 두 dbt 가상환경 구축 — 데이터를 건드리기 전에 마이그레이션에 필요한 모든 것
01소스 환경노트실제 고객 배포를 반영하는 Snowflake 환경: 5천만 행, dbt Medallion 파이프라인, 라이브 트립 프로듀서, 3개의 Superset 대시보드
02계획과 설계노트Snowflake 워크로드를 프로파일링하고 마이그레이션이 실행할 아키텍처 결정을 명시화한다: 엔진 선택, 정렬 키, 스키마 변환, 배포 웨이브, dbt 모델 설계
03프로비저닝과 마이그레이션노트Terraform으로 ClickHouse Cloud 프로비저닝, 계획에 따른 타깃 테이블 생성, 재개 가능한 Python 마이그레이션 스크립트로 5천만 행 이전
04dbt 파이프라인 재구축노트dbt-clickhouse로 ClickHouse에서 Medallion 파이프라인 재구축 — delete_insert 증분 모델, ReplacingMergeTree, 갱신 가능한 materialized view — 그리고 존 딕셔너리 생성
05벤치마크와 컷오버노트ClickHouse에서 대시보드 재구축, 7개 쿼리 전부를 양쪽 엔진에서 벤치마크, 프로듀서 컷오버, 패리티 검증, 양쪽 클라우드 정리
06평가노트20문항 객관식과 4문항 서술형 평가를 오픈북으로 완료하고 ClickHouse Migration Proficiency Badge를 획득

이 랩이 다루지 않는 것

이 랩은 핵심 마이그레이션 패턴으로 범위를 한정했다. 다음 주제는 의도적으로 범위 밖이다.

  • 실시간 스트리밍 인제스트 — 이 랩은 컷오버 이후의 라이브 쓰기에 Docker 기반 트립 프로듀서를 사용하며, Kafka, Kinesis, ClickPipes 스트리밍 소스는 쓰지 않는다.
  • 다중 노드 ClickHouse 클러스터 — 모든 작업은 ClickHouse Cloud 단일 서비스 배포에서 이루어진다. 셀프 호스팅 분산 배포(샤딩, 복제 토폴로지)는 다루지 않는다.
  • 데이터 거버넌스와 접근 제어 — 역할 기반 접근, 행 수준 보안, 마스킹 정책은 구현하지 않는다.
  • 점진적 스키마 진화 — 이 랩은 처음부터 끝까지 고정된 스키마를 사용한다. 마이그레이션 중 라이브 스키마 변경 처리는 다루지 않는다.
  • Snowflake 이외의 소스 — 마이그레이션 패턴은 Snowflake에 특화된다. PostgreSQL, MySQL, BigQuery 등 다른 소스는 SQL 방언과 CDC 접근법이 다르다.
  • 프로덕션 SLA와 모니터링 — 프로덕션 ClickHouse Cloud의 관측성, 알림, SLA 관리는 다루지 않는다.

시간과 비용

모듈실제 소요 시간Snowflake 크레딧ClickHouse Cloud
00 — 환경 설정약 30분——
01 — 소스 환경약 45분약 2–4 크레딧—
02 — 계획과 설계약 90분약 0.5 크레딧—
03 — 프로비저닝과 마이그레이션약 60분약 1–2 크레딧약 $1–2 (트라이얼)
04 — dbt 파이프라인 재구축약 30분약 0.5–1 크레딧약 $0.5–1 (트라이얼)
05 — 벤치마크와 컷오버약 45분약 1–2 크레딧약 $0.5–1 (트라이얼)
06 — 평가약 60분——
합계약 6시간약 6–10 크레딧약 $2–4

Snowflake 크레딧 추정치는 표준 X-Small 웨어하우스를 가정한다. ClickHouse Cloud 비용은 몇 시간 내에 정리하는 Development 티어 서비스를 가정한다.

이 페이지의 내용

KO