1024 TiDB 社区 AIGC 黑客松 · 互动演示

点一下,看数据搬家

给这座图书馆新开一座分馆,看它自己把书搬过去。
每一次搬动,都对应平凯数据库里一次真实的 Region 调度。

老馆长不亲自搬书。他甚至不直接下命令——他只提建议。

六位馆员群像:前台接待员、抄书三兄弟、老馆长、统计员
馆员群像 · 孔版印刷定稿六人 / 四位馆员
馆内导览 · 组件对照

馆里有四位馆员,正好对应四个组件

馆里的每个角色,都对应一个真实存在的组件。把架构名词翻译成「人的动作」,比读文档好懂太多。 下面是这四位,以及他们各自守的那条规矩。

能跑的小模拟 · 不是示意图

点一下,看数据搬家

下面这份演示按平凯数据库官方文档里描述的调度机制运行,每一步都能在文档里找到出处。 点按钮、点格子,它会一步步算给你看。

现在是三座分馆、8 个 Region、每个 Region 三副本。点最左边那个按钮。

速度

集群视图

Leader 副本 Follower 副本 热点 / 迁移中
60 秒短片 · 六个镜头

把同一个故事,又拍了一遍

六个镜头由图生视频生成:先按角色定稿图出每镜首帧,再让视频模型动起来。 左右拖动这条长卷,点开看大图。

长卷可拖动 / 滚轮横移 · 点开看大图
镜 3「多数派提交」:三兄弟同时抄同一份书,抄完两本就算入库成功——这就是写操作只需复制到多数节点。
镜 5「副本自愈」:一座分馆熄灯后,其余副本自动把缺的那份补回来,业务无感知。
完整片长 60 秒,含中文字幕。
本页只放首帧:单文件、零外部依赖,所以不内嵌视频。

这里到底发生了什么

这不是一张示意图,是一份能跑的小模拟。它按平凯数据库官方文档里描述的调度机制运行, 每一步都能在文档里找到出处。你可以反复点,看它每次怎么算、怎么搬。

01

书为什么要分份抄

数据以 Region 为单位存储,每个 Region 保存一个键区间,数据量默认维持在 256 MiB 左右。每个 Region 自动维护 三副本,落在不同节点上, 组成一个 Raft Group——这就是图上每个编号出现三次的原因。

02

馆长只有三种动作

调度的基本操作只有三个:增加一个副本、删除一个副本、 迁移 Leader 角色。这三个动作由 Raft 协议的 AddReplica、 RemoveReplica、TransferLeader 三条命令支撑。搬家这件事,全靠它们组合出来。

03

为什么一定是先加后减

注意看顺序:先在目标分馆把新副本建起来、等它把数据追平,再删掉源分馆的旧副本。 反过来先删后加,数据就只剩两份了。整个过程三副本始终在线,读写不受影响。

04

馆长其实只是个建议者

PD 通过心跳包收集每个节点的状态和每个 Region 的信息,据此生成调度计划, 再通过心跳回复把操作建议下发给 Region Leader。文档写得很清楚: 这只是建议,具体执不执行、什么时候执行,由 Region Leader 根据自身状态决定。

技术口径:组件职责、Region 大小、副本机制、调度操作与流程,均依据平凯数据库官方文档 (pingkai.cn/docs/pingkaidb/stable)整理,核对日期 2026 年 9 月。「先增副本、同步完成后再删旧副本」 的顺序依据 Raft 副本管理的一般机制整理;访问热点的分散在本演示中以迁移 Leader 展示,实际处理方式不止这一种。 节点数、Region 数量与调度并发度为便于演示的简化设定,不代表真实集群规模与性能。老馆长为虚构角色。
1024 TiDB 社区 AIGC 黑客松 · 2026
《一座永不打烊的图书馆》系列作品 · 互动演示
插画 / 分镜由 AIGC 生成,文案与前端人工撰写