GBase 8s
运维管理
文章

Gbase 8s 事务机制

发表于2025-12-22 11:00:3225次浏览2个评论

显示事务: 用户在所执行的一条或多条 SQL后,显式添加了开启事务START TRANSACTION 语句和提交事务 COMMIT 语句。
隐式事务: 用户在所执行的一条或多条 SQL 语句的前后,没有显式添加开启事务和提交事务的语句。在这种情况下,每一条 SQL 语句在开始执行时,GBase 8c 内部都会为其开启一个事务,并且在该语句执行完成之后,自动提交该事务。

对于CN 来说,使用显式事务还是隐式事务,完全取决于用户输入的SQL语句;对于 DN 来说,只有当 SQL为隐式只读事务时,才会使用隐式事务,当 SQL为显式事务或者隐式写事务时,都会使用显式事务。

单机事务(单分片事务): CN节点接收到上层应用的事务请求,发现数据分布在本地单个高可用组(HG)上,此时CN直接向该HG请求数据并返回。这种方式不走两阶段提交过程,处理性能非常高。
分布式事务: GBase 8c的跨节点的分布式事务是通过GTM的严格的两阶段提交的跨节点的分布式事务。在数据提交的时候,CN先向每个DN节点发送prepare状态,DN节点返回prepare ok状态后,CN再发送commit状态,最后DN节点返回commit ok状态后才算一次提交完成。

评论

登录后才可以发表评论
青菇凉发表于 2个月前
厉害了
GBase用户47954发表于 2个月前
感谢作者的精彩分享!