从传统数仓 + 数据湖双轨制,到湖仓一体统一架构的完整迁移方案。覆盖四大湖仓格式(Iceberg / Hudi / Paimon / Delta Lake)深度对比、架构设计决策、端到端实现、成本分析。
核心价值:一套存储 + 一套元数据 + 一套SQL + 一套服务,彻底消灭数据冗余和口径不一致。
读取 references/lakehouse-fundamentals.md 了解湖仓一体的核心概念和演进历史。
这是最关键的一步。读取 references/format-comparison.md 获取完整对比矩阵。
快速决策树:
你的场景是什么?
├── 实时 CDC 入湖 + Flink 为核心
│ └── → Apache Paimon(Stream-Native 设计,Flink 原生集成)
│
├── Spark 批处理为主 + 生态兼容性优先
│ ├── 需要 Upsert/Delete → Apache Hudi
│ └── 纯批分析 → Apache Iceberg(社区最广)
│
├── Databricks 全家桶
│ └── → Delta Lake(生态绑定但开箱即用)
│
└── 混合场景:实时+批处理
└── → Paimon(主) + Iceberg(通过 REST Catalog 互通)
四大格式核心差异:
| 特性 | Paimon | Iceberg | Hudi | Delta Lake |
|---|---|---|---|---|
| :--- | :---: | :---: | :---: | :---: |
| 设计哲学 | Stream-Native | Batch-First | Spark-Centric | Databricks生态 |
| 实时能力 | ★★★★★ | ★☆☆☆☆ | ★★★☆☆ | ★★☆☆☆ |
| Flink 集成 | ★★★★★原生 | ★★★☆☆ | ★★☆☆☆ | ★★☆☆☆ |
| Spark 集成 | ★★★☆☆ | ★★★★★ | ★★★★★ | ★★★★★ |
| Upsert性能 | ★★★★☆ | ★★☆☆☆ | ★★★★★ | ★★★★☆ |
| 社区活跃度 | ★★★★☆增长最快 | ★★★★★最大 | ★★★★☆ | ★★★★☆ |
读取 references/architecture-patterns.md 获取架构模式详解。
推荐架构(Paimon + StarRocks):
┌─────────────────────────────────────────────────────┐
│ 数据源层 │
│ MySQL │ PostgreSQL │ Kafka │ 日志文件 │ IoT设备 │
└──────────┬──────────────────────────────────────────┘
│ Flink CDC / Kafka Connect
▼
┌─────────────────────────────────────────────────────┐
│ 湖仓公共层 (Paimon) │
│ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ │
│ │ ODS │→│ DWD │→│ DWS │→│ ADS │ │
│ └───────┘ └───────┘ └───────┘ └───────┘ │
│ 统一元数据 (Hive Metastore / REST Catalog) │
└──────────────────────┬──────────────────────────────┘
│ Trino / StarRocks 查询
▼
┌─────────────────────────────────────────────────────┐
│ 服务层 │
│ BI报表 │ 实时大屏 │ 机器学习 │ Ad-Hoc查询 │ API服务 │
└─────────────────────────────────────────────────────┘
执行 scripts/setup-lakehouse.sh 一键部署环境。
核心链路:
-- StarRocks 查询 Paimon 湖仓数据
CREATE EXTERNAL CATALOG paimon_lake
PROPERTIES (
"type" = "paimon",
"paimon.catalog.type" = "filesystem",
"paimon.catalog.warehouse" = "file:///tmp/paimon-warehouse"
);
-- 直接查询 ADS 层,无需数据搬迁
SELECT * FROM paimon_lake.ecommerce.ads_realtime_dashboard;
读取 references/migration-guide.md 获取完整迁移方案。
迁移策略:
| 阶段 | 动作 | 风险控制 |
|---|---|---|
| :--- | :--- | :--- |
| 双跑期 | 新旧系统并行运行2周 | 数据一致性校验脚本 |
| 灰度切换 | 先切非核心报表 | 回滚预案就绪 |
| 全量切换 | 核心链路迁移 | 周末操作+监控 |
使用 scripts/tco-calculator.py 计算迁移前后的成本对比。
典型降本案例(某电商企业):
| 项目 | 传统架构 | 湖仓一体 | 降幅 |
|---|---|---|---|
| :--- | :--- | :--- | :---: |
| 存储成本 | ¥15万/月 | ¥4万/月 | 73% |
| 计算资源 | ¥8万/月 | ¥5万/月 | 38% |
| 运维人力 | 3人 | 1.5人 | 50% |
| 数据冗余 | 3副本 | 1份 | 67% |
| 场景 | 推荐方案 | 参考章节 |
|---|---|---|
| :--- | :--- | :--- |
| 实时数仓 | Paimon + Flink CDC | Step 2-3 |
| 离线分析 | Iceberg + Spark | Step 1 |
| Upsert密集型 | Hudi + Spark/Flink | Step 1 |
| 流批一体 | Paimon 物化表 | Step 3 |
| 多引擎查询 | Iceberg REST Catalog | Step 2 |
| 资源 | 路径 | 用途 |
|---|---|---|
| :--- | :--- | :--- |
| 一键部署脚本 | scripts/setup-lakehouse.sh | 环境部署 |
| TCO计算器 | scripts/tco-calculator.py | 迁移成本分析 |
| 基础概念 | references/lakehouse-fundamentals.md | 湖仓一体概念演进 |
| 格式对比 | references/format-comparison.md | 四大格式深度对比矩阵 |
| 架构模式 | references/architecture-patterns.md | 架构设计模式 |
| 迁移指南 | references/migration-guide.md | 数仓→湖仓迁移方案 |
(内容由AI生成,仅供参考)
共 1 个版本