Tencent Cloud · Beginner Data Journey
一条订单,如何从 MySQL 走到 BI 报表?
把自己当成第一次接触大数据:先看业务数据库如何产生变化,再看 CDC 如何读取源库 Binlog,最后理解 COS、Iceberg、Parquet、建模与 BI 各自负责什么。
One continuous route
先看全图,再从上到下逐段理解
Source database
先产生一笔真实、已提交的业务订单
购物车不是最终业务数据;只有订单服务成功 COMMIT 到 MySQL,CDC 才能看见。Editable source event
编辑购物车,再提交订单
| 购物车 | 用户 | 商品 | 数量 | 单价 | 区域 |
|---|
相同 cart_id 的商品会在订单服务中合并成一条 orders 主表记录,同时逐条写入 order_items。先修改数据,再点击“合并并下单”。
Stage inspector
用户点击下单
Extraction & ingestion
CDC 读取的是源数据库 Binlog,不是数据湖 Binlog
点击 INSERT、UPDATE、DELETE,观察“源库行 → Binlog 事件 → CDC 消息 → 湖文件”的变化。Lake write
变化写入 COS;Iceberg 把 Parquet 组织成可版本化的表
文件格式负责保存数据,Iceberg 负责事务、快照和文件索引,COS 负责持久化对象。Storage anatomy
湖中的文件分别做什么?
Storage choice
HDFS 与 COS 的区别
Snapshot → Parquet mapping
不同 Snapshot 到底对应哪些 Parquet 文件?
一个 Snapshot 表示某次成功提交后的整张表状态。它可复用旧 Parquet、增加新 Parquet,也可通过 Delete file 表达删除。请选择 S1、S2、S3 查看变化。
Iceberg metadata chain
从 Catalog 指针一路找到真实数据文件
Catalog 只把 sales.orders 指向当前 metadata JSON;metadata JSON 内的 Snapshot 再指向 Manifest list,Manifest list 指向 Manifest,Manifest 最终列出 Data/Delete files。
Transform & model
清洗、质量门、分层建模,再形成 Mart / Gold
EMR、DLC、Oceanus 是计算工具;它们读取湖表、执行规则,并回写新的 Iceberg Snapshot。Data quality gate
制造脏数据,观察哪些记录不能进入可信层
先完成下单,再注入一种异常。
Lakehouse layers
同一份订单如何从 Raw 变成可信指标
Product guide
不同计算与服务产品负责什么?
EMR component stack
EMR 各层组件怎么理解?
可用组件取决于发行版和集群类型,不代表一套集群要全部安装。
Serve, BI & report
把治理后的数据变成可重复使用的经营指标
Gold 数据可直接由 EMR/DLC 探索;生产 BI 通常发布到 TCHouse,再经语义层统一指标。Dynamic BI dashboard
从当前可信订单实时生成经营报表
只使用通过质量门的订单,并按 order_id 关联 order_items。修改源数据并重新下单后,指标会一起变化。
Query lab
运行一个分析查询
SELECT region,
COUNT(*) AS orders,
SUM(amount) AS revenue
FROM curated_orders
WHERE status = 'PAID'
GROUP BY region
ORDER BY revenue DESC;Operations & governance