【1024 TiDB 社区 AIGC 黑客松】一剑传书,不入投票阵:15 秒看懂 TiFlash Learner

作品说明

大家好,这次带来的作品是《一剑传书,不入投票阵》。

我尝试用一段 15 秒的武侠动漫,把一个容易被忽略的 TiDB 知识点讲清楚:

TiFlash 会同步 TiKV 的数据副本,但它以 Raft Learner 身份工作,不参与多数派投票,因此 TiKV 的前台写入不需要等待 TiFlash 确认。

作品展示

  • 时长:15 秒
  • 形式:武侠动漫 + 分层 2D 动画
  • 主题:TiFlash Raft Learner 的复制与投票机制

为了让 Raft Learner 更容易理解,我把技术组件映射成了一个武侠故事:

  • 三名结阵侠客:代表 TiKV 的 Raft 投票副本。
  • 三侠形成多数派:代表写入获得多数派确认后即可提交。
  • 阵外御剑信使:代表 TiFlash Learner,只接收和复制数据,不参与投票。
  • 远处藏经阁:代表 TiFlash 列存副本,数据同步完成后用于分析查询。
  • 飞剑传书:代表数据从 TiKV 实时复制到 TiFlash。

因此,即使信使暂时落后,阵内仍然可以完成共识并继续处理交易。

为什么选择这个知识点

“TiFlash 会保存 TiKV 的副本”比较容易理解,但很多人第一次接触时会产生一个问题:

既然 TiFlash 也需要同步数据,TiKV 写入是不是还要多等一个副本?

答案是不需要。

TiFlash 副本采用特殊的 Raft Learner 角色进行异步复制。Learner 不进入多数派投票计数,所以 TiFlash 节点故障或者网络延迟时,TiKV 侧的应用仍然可以正常运行。

读取 TiFlash 时,系统会通过复制进度校验保证相应时间戳的数据已经同步,从而提供一致性读取。

AIGC 创作过程

本作品使用了以下工具:

  • ChatGPT:创意构思、技术内容梳理和动画脚本。
  • Codex:互动页面开发、动画分层、运动轨迹与成片制作。
  • OpenAI 图像生成:武侠动漫人物、月夜场景和透明人物图层。
  • FFmpeg 与 Pillow:视频合成、光轨动画、阵法脉冲、字幕与 30 FPS 编码。

制作过程中经历了多次调整:从静态动漫画面,到简化场景元素,再将御剑人物从背景中独立出来,最终实现人物横穿画面、阵法旋转、飞剑光轨以及藏经阁面板依次点亮。

AIGC 使用声明

本作品使用 AIGC 辅助完成视觉素材、文案构思和代码实现。知识点选择、技术校验、视觉取舍、动画调整和最终审核均由本人参与完成。

互动页面属于原理可视化模拟,不连接真实 TiDB 集群,也不代表实际性能测试结果。

参考资料

  • TiFlash Overview
  • Quick Start with TiDB HTAP

欢迎大家体验,也欢迎指出技术表述或动画呈现中可以继续改进的地方。

很细致的讲解!比喻也很形象,一下子就能记住~
恭喜老师您的作品审核通过,可进入下一阶段社区投票~ 期待创作更多形象的技术解读作品呀!

很细致的讲解!比喻也很形象,一下子就能记住~
恭喜老师您的作品审核通过,可进入下一阶段社区投票~ 期待创作更多形象的技术解读作品呀!