OBCA 4.x 课件 3.3 事务引擎
课件描述中介绍: 【事务原子性通过数据库日志实现。】 此处有错误。
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000219025
官方文档描述:
两阶段提交确保事务原子性。
OBCA 4.x 课件 3.3 事务引擎
课件描述中介绍: 【事务原子性通过数据库日志实现。】 此处有错误。
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000219025
官方文档描述:
两阶段提交确保事务原子性。
两阶段提交也是提交的日志啊,没啥毛病啊
感觉这句话是有问题。
两阶段提交最终也是记录commit log,可能是ppt描述的略显模糊了;
事务提交前都会记录redo log,保证事务的原子性和持久性;
OceanBase 数据库的 Redo 日志文件称为 Clog,Clog 全称 Commit log,用于记录 Redo 日志的日志内容
Redo 日志
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000219027
应该是对的,通过日志保证的,两阶段提交就是通过日志来完成的,这一点尤其在故障的情况下体现尤为明显。在oracle中也有类似的描述,在故障的情况下,事务未提交通过undo日志一起回滚,事务提交了则通过redo日志一起重放。
感谢提问,OBCA V4教材上这页主要讲传统数据库的事务一致性,以日志为主。后续还有一页是讲OB的事务一致性,除了日志以外,还有两阶段提交保持分布式事务的一致性。V3教材是讲OceanBase的事务一致性,所以略有不同。