一份完整分析过的 Snowflake 工作负载
盘点所有表,识别查询模式和 SQL 方言差异,并在制定方案前估算迁移工作量。
ClickHouse 迁移系列
面对一套接近生产环境的 Snowflake 工作负载,你将把 5000 万行数据、完整的 Medallion dbt 管道、七条分析查询、实时数据生成器和 Superset 仪表板迁移到 ClickHouse Cloud,再通过性能测试验证迁移收益。
迁移不只是搬数据, 还要记录每项架构决策。
写脚本把 5000 万行数据从一个数仓复制到另一个并不难。真正考验迁移能力的,是如何为目标系统做出正确的架构选择,而这也正是客户对解决方案架构师的期待。
难点发生在复制数据之前:每张表该选择哪一种 MergeTree 系列引擎,ORDER BY 键为什么这样设计,以及如何把 QUALIFY、VARIANT、定时 TASK 等 Snowflake 常用写法转换为 ClickHouse 中合适的实现。
在实际迁移前,你需要先把这些决策记录下来。模块 02 会生成一份 migration-plan.md,说明每项选择的依据;模块 03 的安装脚本只有检测到这份文件后,才会继续配置 ClickHouse。
到了模块 06,你将完成一份开卷测评,其中包含 20 道选择题和 4 道开放题,并说明迁移方案的依据。这与真实客户沟通中对判断力的要求一致。
最终成果
所有成果都运行在你自己的 Snowflake 和 ClickHouse Cloud 试用服务中,开通两项试用都无需信用卡。
盘点所有表,识别查询模式和 SQL 方言差异,并在制定方案前估算迁移工作量。
为每张表选择合适的 MergeTree 系列引擎和 ORDER BY 键,并把 Snowflake 的数据类型与常用写法转换成 ClickHouse 的对应实现。
使用支持断点续传的 Python 脚本迁移 5000 万行数据,校验数据一致性,并通过脚本完成数据生成器切换。
配置 dbt-clickhouse 的 delete_insert 增量策略、ReplacingMergeTree 模型和可刷新的物化视图。
通过七条查询的性能对比,得到最高 6–9 倍的实测提升,为客户沟通提供可靠数据。
完成模块 06 的测评,证明你能把同一套迁移方法应用到其他客户的工作负载。
需要转换的 SQL 方言差异
课程安排 · 6 小时实操
沿着一条完整主线,分析源端、设计目标架构、迁移数据、重建管道,最后用性能数据验证收益。
安装工具链,开通两个云服务试用账号,克隆代码仓库,并创建两个 dbt 虚拟环境,为迁移做好准备。
搭建接近真实客户部署的 Snowflake 环境,其中包含 5000 万行数据、一条 dbt Medallion 管道、一个实时行程数据生成器和三个 Superset 仪表板。
分析 Snowflake 工作负载,再制定迁移所需的架构方案,包括引擎选型、排序键、schema 转换、分阶段上线和 dbt 模型设计。
使用 Terraform 创建 ClickHouse Cloud 服务,按方案创建目标表,再通过支持断点续传的脚本迁移 5000 万行数据。本模块预留 60 分钟,其中约 40–50 分钟是无需人工操作的数据传输,可在后台运行。
使用 dbt-clickhouse 在 ClickHouse 中重建 Medallion 管道,包括 delete_insert 增量模型、ReplacingMergeTree 和可刷新的物化视图,并创建区域字典。
在 ClickHouse 中重建仪表板,分别在两个引擎上运行七条测试查询,切换数据生成器,校验数据一致性,最后清理资源。
以开卷方式完成 20 道选择题和 4 道开放题,通过后获得 ClickHouse 迁移能力徽章。
课程默认支持自主学习。每个模块开头都有明确的检查点,遇到问题后可以从检查点继续。模块 01 启动的 Snowflake 数据生成器必须持续运行到模块 05,请合理安排休息时间,不要中途停止。
参加之前