事务操作的所有分区 leader 在同一台机器上的事务,我们称为单机事务或者本地事务。为了最大限度优化单机事务的提交性能,不同场景做了不同的优化。

单分区事务

只有一个分区存在写操作的事务称为单分区事务。该场景下,事务提交不需要通过 2PC 来完成,直接写一条日志即可完成事务提交。

单机多分区事务

多个分区存在写操作且 leader 在同一个 server 上的事务称为单机多分区事务。由于 OceanBase 数据库分区级日志流的设计,因此单机多分区事务本质上也是分布式事务。为了提高单机的性能,OceanBase 数据库对事务内参与者副本分布相同的事务采用了特殊的优化方法-一阶段提交,大大提高了单机事务提交的性能。