KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

流式数据管道课:CDC、事件时间与数仓分层 — keel 龙骨

把「业务库改一行、分析表出现一行」这条链路拆开:WAL 逻辑解码与复制槽的真实行为、REPLICA IDENTITY 与 old key、Kafka Connect 的 offset 与断点续传、事件时间与水位线对迟到数据的判定、状态快照与至少一次和恰好一次的实际差别、ODS/DWD/DWS 分层的收益与代价、列存与预聚合的选型依据。含端到端管道与可运行的窗口引擎。

把「业务库改一行、分析表出现一行」这条链路拆开:WAL 逻辑解码与复制槽的真实行为、REPLICA IDENTITY 与 old key、Kafka Connect 的 offset 与断点续传、事件时间与水位线对迟到数据的判定、状态快照与至少一次和恰好一次的实际差别、ODS/DWD/DWS 分层的收益与代价、列存与预聚合的选型依据。含端到端管道与可运行的窗口引擎。

章节目录

  1. 00 · 一条变更的旅程 — 这一章先把整条路的形状画出来。后面六章都在放大这条路上的某一段,但在你脑子里有这张图之前,每一段的细节都是孤立的。
  2. 01 · CDC 的原理与实现 — 第 00 章说第 ③ 跳是「语义起点」。这一章把它放大:槽到底记了什么、不消费会怎样、UPDATE 的旧值为什么取不到。
  3. 02 · 管道拓扑与 Kafka Connect — 第 01 章的解码结果还只是一个 SELECT 的返回值。这一章讲怎么把它变成一个跑了就不停、断了能续的连接器,以及「续」这件事的状态到底写在哪。
  4. 03 · 事件时间与水位线 — 前两章把数据搬到了 topic 里。这一章开始算。算的第一件事不是聚合,是用哪个时间轴来切窗口——这个选择错了,后面所有数字都会对不上。
  5. 04 · 状态与容错 — 上一章的窗口状态全在内存的 dict 里。进程一崩,sum 就没了。这一章讲状态放哪、多久存一次快照、重启后从哪继续,以及「恰好一次」到底是不是免费的。
  6. 05 · 数仓分层与建模 — 前四章把数据搬对了、算对了。到了落地这一步,同一个业务问题(「每个状态多少单、金额多少」)在链路的哪个位置回答,代价能差三个数量级。这一章把这件事量出来。
  7. 06 · OLAP 选型与管道运维 — 上一章的 DWS 是一张普通表。这一章回答两个收尾问题:要不要为分析负载换一个专门的 OLAP 引擎;以及这条管道上线之后,人看哪些数字才能睡得着。

进入 keel 阅读