TiDB 事务

TiDB 分布式事务相比 MySQL 单机事务,优势和代价分别是什么?

1 个赞

大事务在 TiDB 中确实需要避免,建议控制在 5000 行以内。如果遇到悲观锁超时,可以检查下 lock-wait-timeout 配置。跨节点事务的性能开销比较大,能拆分的话尽量拆成单分片事务。

1 个赞

优势:支持跨节点、跨表数据强一致性,可横向扩容承载海量数据与高并发;
代价:基于 2PC 与 Raft 协议,流程更复杂,提交延迟、网络开销更高。

1 个赞

网络开销和常见的CAP理论

拥有真正跨分片、跨机器的 ACID 强事务,不用业务层开发柔性事务,支持无限扩容,全局一致快照读,解决分库分表 MySQL 跨库事务无解的痛点。

1 个赞

:yum:说实话,再TiDB里几乎没遇到锁表的情况。

优势就是:tidb好像没有MySQL那么重的间隙锁的机制了。
劣势:分布式事务应该比单机的MySQL事务锁更重了。

1 个赞

优势 ‌:‌支持跨多个 TiKV 节点的 ACID 分布式事务
代价:‌分布式事务引入网络通信开销

1 个赞

这个问题可以看看官方文档的 FAQ,TiDB 在这块有比较详细的说明。方便的话贴一下具体的报错日志,方便大家帮忙定位。

建议看下 TiDB Dashboard 的监控,特别是慢查询和 KV 耗时,能快速定位瓶颈。有具体报错贴一下,我帮你分析看。

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