A Snowflake workload, profiled
Tables inventoried, query patterns identified, SQL dialect gaps spotted, and the migration effort sized before you plan anything.
ClickHouse Snowflake Migration
Fifty million rows, a full Medallion dbt pipeline, seven analytical queries, live data producers, and Superset dashboards — a production-shaped Snowflake workload you migrate to ClickHouse Cloud end to end, then benchmark and defend.
Not a lift and shift. A decision log.
Anyone can write a script that copies fifty million rows from one warehouse to another. That part of a migration is not the hard part, and it is not what a customer is paying a Solutions Architect to get right.
The hard part is upstream of the copy: which MergeTree engine family fits each table, what an ORDER BY key actually earns its keep doing, and which Snowflake idioms — QUALIFY, VARIANT, a scheduled TASK — have no direct ClickHouse equivalent and need a real translation.
This lab makes you write those decisions down before you execute them. Module 02 produces a migration-plan.mdwith every choice justified, and module 03's setup script checks for it before you touch ClickHouse.
By module 06 you are defending that plan, open-book, against a twenty-question assessment and four open questions — the same test of judgment a real customer conversation puts you through.
What you walk away with
On your own Snowflake trial and your own ClickHouse Cloud trial — no credit card on either.
Tables inventoried, query patterns identified, SQL dialect gaps spotted, and the migration effort sized before you plan anything.
The right MergeTree engine family for each table, an ORDER BY key that earns its keep, and Snowflake types and idioms translated to ClickHouse equivalents.
50 million rows moved with a resumable Python script, parity validated, and a scripted producer cutover.
dbt-clickhouse configured with delete_insert, ReplacingMergeTree models, and refreshable materialized views.
A seven-query benchmark you can turn into 6-9x performance numbers you can defend in front of a customer.
The module 06 assessment, passed — proof you can apply the same pattern to a new customer's workload.
The dialect gaps you actually translate
The route · 6 hours hands-on
One flow, start to finish: profile the source, plan the target, move the data, rebuild the pipeline, then prove the win.
Install the toolchain, create both cloud trial accounts, clone the repo, and build both dbt virtualenvs — everything the migration needs before you touch data.
Provision a Snowflake environment that mirrors a real customer deployment: 50M rows, a dbt Medallion pipeline, a live trip producer, and three Superset dashboards.
Profile the Snowflake workload, then make the architecture decisions the migration will execute: engine selection, sort keys, schema translation, deployment waves, and dbt model design.
Provision ClickHouse Cloud with Terraform, create the target tables from your plan, and move 50 million rows with a resumable script. Budget 60 minutes total — roughly 40-50 minutes of that is an unattended data transfer you can leave running in the background.
Rebuild the Medallion pipeline on ClickHouse with dbt-clickhouse — delete_insert incremental models, ReplacingMergeTree, refreshable materialized views — and create the zone dictionary.
Rebuild the dashboards on ClickHouse, benchmark all seven queries against both engines, cut the producer over, verify parity, and tear down.
Complete the 20-question multiple-choice and 4-question open assessment, open-book, to earn the ClickHouse Migration Proficiency Badge.
Self-paced by default. Every module names its starting checkpoint, so nobody is stranded by the pace of the room. The Snowflake producer started in module 01 must keep running through module 05 — plan your breaks around it, not through it.
Before you join
Bring a Snowflake trial and a ClickHouse Cloud trial. Leave with 50 million rows migrated, a dbt pipeline rebuilt, and seven benchmarked queries you can defend to a customer.