TiDB 大事务触发 Region 热分裂,会影响事务原子性吗?

  • Region 热分裂本身是在 Raft 层执行吗?
  • 分裂操作和事务 2PC 流程是否相互隔离?
  • 遇到大事务持续触发热分裂,除了拆分事务,还有哪些优化思路? 欢迎大佬们分享经验~
1 个赞
  • 热分裂在 Raft 层执行,靠 Raft 同步分裂元数据;
  • 分裂与 2PC 互相隔离,不干扰事务原子性;
  • 优化:预分裂表、改用 AUTO_RANDOM 主键、调大分裂阈值、PD 均衡热点 Leader、业务削峰限流、优化 Raft 吞吐。
1 个赞

遇到过几次热点问题,排查下来都是自增主键惹的祸。高并发写入全挤在一个 Region 上,改成 AUTO_RANDOM 分配 ID 后就解决了。建议建表时就规划好主键策略。

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。