Lab Di chuyển Snowflake NYC Taxi
Di chuyển một workload Snowflake mang dáng hình production sang ClickHouse Cloud — 50 triệu dòng, một pipeline dbt Medallion, bảy truy vấn phân tích, producer chạy trực tiếp và dashboard BI — rồi bảo vệ các quyết định của bạn.
Chào mừng bạn đến với playbook của Lab Di chuyển Snowflake NYC Taxi. Lab này dành cho các Solutions Architect và đối tác của ClickHouse đang học cách di chuyển một workload Snowflake ở mức production sang ClickHouse Cloud: một luồng chuyến taxi NYC tổng hợp với 50 triệu dòng, một pipeline dbt Medallion đầy đủ, bảy truy vấn phân tích phức tạp, các producer dữ liệu chạy trực tiếp và các dashboard Superset, được dựng để mô phỏng đúng loại workload bạn sẽ gặp trong các dự án khách hàng thực tế.
Vì sao có workshop này
Mục đích của lab này không phải là chuyển các dòng dữ liệu từ warehouse này sang warehouse
khác — một script copy làm được việc đó. Mục đích là đưa ra, và bảo vệ, những quyết định mà
một cuộc di chuyển thực tế buộc bạn phải đối mặt: họ engine MergeTree nào phù hợp với từng
bảng, làm sao thiết kế một khóa ORDER BY xứng với công sức bỏ ra, và những idiom SQL nào
của Snowflake không có tương đương trực tiếp trong ClickHouse. Kết thúc lab, bạn sẽ có thể
phân tích đặc tính một workload Snowflake, đưa ra quyết định đúng về engine và schema, thực
thi một cuộc di chuyển theo phong cách production với một script có thể tiếp tục sau khi
gián đoạn, dựng lại pipeline dbt trên ClickHouse, định lượng bài toán kinh doanh bằng một
benchmark bảy truy vấn, và giải thích cũng như bảo vệ từng quyết định đó.
Playbook này có ba lộ trình. Lộ trình Learner là bài học bạn tự làm. Lộ trình Instructor là tài liệu đồng hành cho người điều phối trên cùng các module đó: thời lượng, kịch bản dẫn dắt, các lỗi thường gặp và các bước reset. Reference là tài liệu nền — các hướng dẫn về engine, dbt và dashboard — dùng để đọc song song với bất kỳ module nào, không theo thứ tự.
Các module
| # | Learner | Instructor | Kết quả |
|---|---|---|---|
| 00 | Chuẩn bị | ghi chú | Bộ công cụ đã cài, cả hai tài khoản dùng thử trên cloud đã tạo, repo đã clone, cả hai virtualenv dbt đã dựng — mọi thứ cuộc di chuyển cần trước khi bạn chạm vào dữ liệu |
| 01 | Môi trường nguồn | ghi chú | Một môi trường Snowflake phản chiếu một triển khai khách hàng thực: 50 triệu dòng, một pipeline dbt Medallion, một producer chuyến đi chạy trực tiếp và ba dashboard Superset |
| 02 | Lập kế hoạch và thiết kế | ghi chú | Workload Snowflake đã được phân tích đặc tính và các quyết định kiến trúc mà cuộc di chuyển sẽ thực thi được nêu rõ ràng: chọn engine, sort key, dịch schema, các đợt triển khai và thiết kế model dbt |
| 03 | Cấp phát và di chuyển | ghi chú | ClickHouse Cloud đã được cấp phát bằng Terraform, các bảng đích được tạo từ kế hoạch của bạn, và 50 triệu dòng được chuyển bằng một script di chuyển Python có thể tiếp tục sau khi gián đoạn |
| 04 | Dựng lại pipeline dbt | ghi chú | Pipeline Medallion được dựng lại trên ClickHouse với dbt-clickhouse — model incremental delete_insert, ReplacingMergeTree, materialized view có thể refresh — và dictionary vùng đã được tạo |
| 05 | Benchmark và cutover | ghi chú | Dashboard được dựng lại trên ClickHouse, cả bảy truy vấn được benchmark trên cả hai engine, producer đã cutover, tính tương đương đã được kiểm chứng, và cả hai cloud đã được dỡ bỏ |
| 06 | Đánh giá | ghi chú | Hoàn thành bài đánh giá 20 câu trắc nghiệm và 4 câu tự luận, được phép tra tài liệu, để nhận ClickHouse Migration Proficiency Badge |
Những gì lab này không đề cập
Lab này được giới hạn ở mẫu di chuyển cốt lõi. Các chủ đề sau đây cố tình nằm ngoài phạm vi:
- Nạp dữ liệu streaming thời gian thực — lab dùng một producer chuyến đi trên Docker cho các lượt ghi trực tiếp sau cutover, không dùng Kafka, Kinesis hay các nguồn streaming của ClickPipes.
- Cluster ClickHouse nhiều node — toàn bộ công việc diễn ra trên một triển khai ClickHouse Cloud dạng service đơn; các triển khai phân tán tự quản (sharding, topology replication) không được đề cập.
- Quản trị dữ liệu và kiểm soát truy cập — truy cập theo vai trò, bảo mật ở mức dòng và các policy masking không được triển khai.
- Tiến hóa schema tăng dần — lab dùng một schema cố định xuyên suốt; việc xử lý thay đổi schema trong lúc đang di chuyển không được đề cập.
- Các nguồn không phải Snowflake — mẫu di chuyển này đặc thù cho Snowflake. PostgreSQL, MySQL, BigQuery và các nguồn khác có phương ngữ SQL và cách tiếp cận CDC khác.
- SLA và giám sát ở production — observability, cảnh báo và quản lý SLA trên ClickHouse Cloud ở production không được đề cập.
Thời gian và chi phí
| Module | Thời gian thực tế | Snowflake credit | ClickHouse Cloud |
|---|---|---|---|
| 00 — Chuẩn bị | ~30 phút | — | — |
| 01 — Môi trường nguồn | ~45 phút | ~2–4 credit | — |
| 02 — Lập kế hoạch và thiết kế | ~90 phút | ~0.5 credit | — |
| 03 — Cấp phát và di chuyển | ~60 phút | ~1–2 credit | ~$1–2 (dùng thử) |
| 04 — Dựng lại pipeline dbt | ~30 phút | ~0.5–1 credit | ~$0.5–1 (dùng thử) |
| 05 — Benchmark và cutover | ~45 phút | ~1–2 credit | ~$0.5–1 (dùng thử) |
| 06 — Đánh giá | ~60 phút | — | — |
| Tổng | ~6 giờ | ~6–10 credit | ~$2–4 |
Các ước lượng credit Snowflake giả định một warehouse X-Small tiêu chuẩn. Chi phí ClickHouse Cloud giả định một service ở tier Development được dỡ bỏ trong vòng vài giờ.