1024 TiDB AIGC 黑客松 · 技术概念可视化

TiDB 内核解剖室
把一个分布式数据库的黑盒,掰开给你看

教科书里的分布式数据库总是"正确地运行着"。但真正让数据库工程师着迷的,是它出错的时候—— 杀掉一个副本会怎样?数据长大了会怎样?节点下线时它怎么自救?

这里没有一张静态的架构图。八台演示台,每一步都能自己走、每个环节都能亲手做坏。 静态图只能告诉你答案,动手做坏才能让你自己发现答案。

驾驶舱 + 8 台演示台 动手可破坏 5 种形式 · 交互 / 信息图 / 视频 / 协作复盘 / 实测笔记 69 项可点开的取证卡 纯前端 · 打开即用
总览层 · 建议从这里开始
集群运行驾驶舱
同一个集群,四种人看同一份数据,关注点完全不同。SRE 值班只问"有没有事",DBA 只问"哪里慢", 架构师只问"副本放得对不对",业务方只问"对业务的承诺守不守得住"。切换视角,看它分别回答什么问题—— 关键指标可直接下钻到对应演示台。
进入驾驶舱 →
动手之前,先把「凭什么信它」放在这里 —— 每一条都能当场验:
先看这三处内容较多,这是替你挑好的重点路线

全站 27 个页面不必都走一遍。如果时间有限,按下面三处看,就能看懂这个作品在做什么、凭什么不一样、好不好玩; 其余入口都由这三处延伸出去,随时可以从页内导航补齐。

重点 ① · 凭什么不一样
08 · 容灾实况
停掉一台 TiKV 的 23 分钟
真停一台在服务的 TiKV:15 秒检出、2 分钟判死、失效副本自动重建、恢复后回流 —— 2 秒级采样、586 个采样点、写入零中断。整个作品与其他作品最大的分界线就在这里:不是画出来的,是真机上量出来的。
为什么是它:静态图人人能画,真机故障实录是这个作品与「看起来很像对」之间的分界线。
看真机实录 →
重点 ② · 核心机制
02 · Region 分裂与 PD 调度
数据长大了会怎样:Region 自动分裂、扩容后 Region 自己搬过去、下线前先把 Region 搬空。可加节点、可减节点、可亲手把集群做倾斜 —— 也是按官方文档口径逐条修订过的核心演示台(含 Region END_KEY 边界与调度器行为的官方口径核对)。
为什么是它:调度是分布式数据库最核心的机制,也是本作品核验投入最深的一台。
动手做坏它 →
重点 ③ · 亲手玩一次
09 · PD 调度官挑战
7 关互动关卡
换个身份:你来当 PD。搬副本、转 Leader、补副本、打散热点,把违规布局修成官方规则要求的形态。7 关 + 随机沙盘 + 段位晋升,每关的三星线就是页内求解器按官方规则推演出的最优步数 —— 玩法本身也经过了核验。
为什么是它:看完机制再来当一次调度官,是把理解变成本事的方式,也足够好玩。
开始挑战 →

演示台

建议按顺序看;每台都能独立操作
01
Multi-Raft 日志复制
一次写入如何在 3 个副本之间达成一致。多数派、提交点、RPO=0 到底是怎么来的。
6 步流程可杀副本
02重点
Region 分裂与 PD 调度
数据长大了会怎样。Region 自动分裂、扩容后 Region 自己搬过去、下线前先把 Region 搬空。
7 步流程可加/减节点
03
分布式事务 2PC
跨 3 个 TiKV 的一次转账,凭什么"要么全成、要么全不成"。prewrite、commit,以及写写冲突撞上来时如何回滚。
9 步流程可制造写写冲突
05
Raft 选举与故障转移
杀掉 Leader 会怎样。选举超时、任期递增、多数派投票,一键演示从中断到恢复的完整过程。
可杀节点自动演示
06
HTAP · 一次查询的两条路
同一个问题,走行存还是列存。TiFlash 副本怎么复制、读的时候怎么保证不落后。
3 种场景数据流动画
07
在线 DDL · 中间状态全流程回放
80 万行表加索引的 4.09 秒里,官方说"看不到"的中间状态,被 10ms 采样全部抓了下来 —— 每一帧都是真机读数。
真机回放179 个采样点
08重点
容灾实况 · 停掉一台 TiKV 的 23 分钟
真停一台在服务的 TiKV:15 秒检出、2 分钟判死、失效副本自动重建、恢复后回流 —— 2 秒级采样,写入零中断。
真机回放586 个采样点
04
向量搜索与 HNSW 索引
把向量嵌入存进关系表,再用 HNSW 索引做 Top-K 近似最近邻。为什么它必须先有 TiFlash,以及为什么带 WHERE 的查询反而不走索引。
双路径对比预过滤陷阱
09重点
PD 调度官挑战 · 7 关互动关卡
换个身份:你来当 PD。搬副本、转 Leader、补副本、打散热点,把违规布局修成官方规则要求的形态 —— 每关的三星线,就是求解器按官方规则推演出的最优步数。
7 关 + 随机沙盘段位晋升
第二种形式 · 静态信息图
信息图系列 · 四张图,四个可以被记住的瞬间
演示台负责让人动手做坏,这组图负责让人一眼记住。同一份技术口径的另一种表达 —— 每张图都能直接截图分享,而图里的每个数字,同样可以回到官方文档逐条核对。
查看系列 →
第四种形式 · 动态信息图 · 1080×1920 · 36 秒
动态信息图 · 四个机制,一条时间线,零口播
这不是网页录屏 —— 录屏得到的仍然是"一个网页在滚动"。这一部用信息图的视觉语法重新实现, 竖版、无声、可独立转发。片中每帧都由帧号驱动渲染,没有一个数字是手写上去的, 540 帧逐帧校验通过。
播放视频 →
第三种形式 · 协作复盘(创作方向:平凯 Loop 的实践)
否决权 · 多 Agent 协作里最稀缺的那一票
这个作品是被否决了 13 次之后才敢拿出来投稿的。谁在喊停?凭什么喊停? 这一页把核验机制本身摊开:69 项口径字典、482 项可执行断言、13 条否决留痕 —— 外加一道可以自己动手玩的核验官挑战。
进入复盘 →
第五种形式 · 实测笔记 · 三台真机
实测笔记 · 把「文档这么写」变成「我量到是这样」
这个作品原先最大的短板是:结论都来自官方文档与推导,没在真机上量过。 这一页把它补掉了 —— 三台机器上一套 v8.5.7 集群,机制逐条跑一遍,原始采集日志全部留在仓库里, 每个数字都能点回那份日志。还包括三处「工具撒谎」:同一个动作, 官方检查工具给出的结论与实机状态三次不一致,而三次里对的都是实机。
看实测证据 →

作品说明与工具交代

官方四要素里,这里集中交代其中两项

作品说明(官方要求 ≤100 字)

一个机制,五种讲法:演示台亲手杀副本、下线节点、制造写写冲突;信息图把机制带走;视频让它能独立分发;协作复盘交代怎么保证没讲错;实测笔记把结论拿真机量了一遍。官方没公开的,一个字都不写。

创作方向:技术概念可视化 · 平凯 Loop 的实践  官方允许方向多选,本作品两个方向都有交付。

AIGC 工具说明

交互与前端代码Qoder 主力开发工具,全量生成并多轮迭代(HTML / CSS / JS)
信息图 / 视频版面Qoder 生成,与交互版共用同一套视觉语法;图上全部文字为矢量排版锁定
多 Agent 协作与质量门平凯 Loop 组建设计 / 开发 / 审阅 / 核验角色分工。核验角色持否决权,完整交代见「Loop 实践」页
视觉基调与图标即梦 AI / 通义万相 生成"解剖台 / 机械剖面"风格底图与图标素材
技术文案初稿ChatGPT / Kimi 辅助生成解说文案初稿
社媒封面与分发素材Canva 可画 / 剪映 AI

AI 参与到了什么程度 —— 如实交代,不夸大也不含糊

用了 AI 的部分:交互页面的代码、信息图与动态信息图的版面与动画、技术文案初稿、底图与图标素材。 AI 承担的是产出速度,这个作品能在一个赛事周期内做出五种形式,靠的就是它。

明确没有用 AI 的部分(三点):

一、视频画面里没有任何一帧是生成模型画的。 全部由作品自己的帧渲染器矢量绘制、按帧号逐帧导出后合成 —— 没有用 AI 视频生成工具,也没有用 AI 生成音乐。

二、画面里每一个中文字都是排版出来的,不是模型"画"出来的。 生成模型画中文极易出现字形错误,而技术图里错一个参数名、错一个数字,整张图就失去意义。 所以画面中只让模型参与视觉基调与图标,凡是文字一律走矢量排版。

三、机制正确性与口径核验由人工逐条完成。 包括 69 项官方口径的逐条对照、2 处自我纠错、7 条"官方未列明故不写"的判定, 以及在三台真机上把机制逐条量一遍、并判定了三处"检查工具与实机不一致"—— 这部分无法外包给任何模型, 也是这个作品与"看起来很像对"的作品之间的分界线。 详见 核验实录 与 实测笔记。

一句话:AI 负责产出速度,人负责判定标准,脚本负责守住底线。

技术口径 · 每一个数字都能点开查出处

本作品坚持一条铁律:写进画面的每一个数字,都必须在 TiDB 官方文档中找到出处,并标注文档链接与版本。 宁可少说,不说错。

这不只是一句声明 —— 分裂阈值到底是多少、Store 下线时经历哪些状态、 冲突检测发生在哪个阶段……八台演示台里带虚线的条目全部可以点击, 弹窗给出官方原文、适用版本与直达文档链接。全站共 69 项核验,任意一条都欢迎当场核对。

官方文档没公开的,本作品一个字都不写 —— store 负载打分的具体公式、 PD 各调度器的逐项默认启用状态、 HNSW 的 M / efConstruction 可调参数、 Async Commit 与 1PC 的默认值、 TiFlash 副本的默认数量。 以上条目经核验确认官方文档未列明,因此画面中不出现任何相关公式或数字 —— 点击任一条目可看到核验结论。

04 号(向量搜索与 HNSW 索引)同样照此办:最低版本要求、 支持的索引算法、支持的距离函数、 前置依赖 TiFlash —— 以及数据类型、召回率、预过滤限制、 annIndex 命中判断这些容易讲错的点,全部挂在演示台上,逐条可点。

仅在数量级上做了便于观察的压缩(如只渲染 1—6 个 Region),机制与流程保持一致。

点击任意虚线条目,查看官方原文、适用版本与文档链接。琥珀色虚线表示"官方未列明,因此本作品不写"。

查看完整核验实录 → 72 条核验明细、2 处自我纠错、7 条主动删除项、4 个自查发现的问题 —— 全部摊开,逐条注明官方出处。 自助核验包 → 不想相信我们?那就自己验一遍。五条路径按投入时间分层:30 秒点一个数字、3 分钟跑一次断言、 10 分钟自己去官方文档查、15 分钟自己重出图与片、20 分钟对着原始日志看真机 —— 也写清了这套方法核验不了什么。 实测笔记 · 三台真机 → 官方文档可以滞后、推导可以与实现不符 —— 所以我们在三台真机上装了一套 v8.5.7, 把机制逐条量了一遍。原始采集日志未经改写,每个数字都能点回那份日志; 还记下了三处「工具撒谎」:官方检查工具错了三次,对的都是实机。
TiDB 内核解剖室 · 1024 TiDB 社区 AIGC 黑客松参赛作品 · 创作方向:技术概念可视化
页面全部功能离线可用,不依赖任何第三方追踪;游戏排行榜与访问计数存储在本站数据层 —— 平凯数据库云服务上的 TiDB 集群(数据层不可用时自动降级,体验不变)。