本地事务是相对于跨机分布式事务而言的,特指事务所操作的表的日志流 Leader 全部在同一个 Server 上,并且与 Session 建立的 Server 具有相同的事务。
根据操作的表的数量,本地事务可以继续细分为本地单日志流事务和本地多日志流事务。
单日志流事务
本地单日志流事务需要满足以下两个条件:
事务涉及的操作总共涉及一个日志流。
日志流的 Leader 与 Session 创建的 Server 相同。
本地单日志流事务是最简单的模型,事务的提交采用了极高的优化。
单机多日志流事务
类似于本地单日志流事务,本地多日志流事务也需要满足两个条件:
事务涉及的表所涉及的多个日志流, 其 Leader 在同一个 Server 上。
日志流的 Leader 与 Session 创建的 Server 相同。
由于 OceanBase 数据库日志流的设计,单机多日志流事务本质上也是分布式事务。为了提高单机的性能,OceanBase 数据库对事务内参与者副本分布相同的事务做了比较多的优化,相对于传统两阶段提交,大大提高了单机事务提交的性能。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




