首批通过分布式安全可靠测评,为关键业务系统打造
事务简介
更新时间:2026-04-11 15:59:00
数据库事务包含了数据库上的一系列操作,事务使得数据库从一个一致的状态转化到另一个一致的状态。
数据库事务有两个作用:
为数据库操作序列提供一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。
为数据库的多个并发访问提供隔离的方法,避免多个并发操作导致数据库进入一个不一致的状态。
数据库事务具有 4 个特性:原子性、一致性、隔离性、持久性。这四个属性通常称为 ACID 特性。
原子性
OceanBase 数据库是一个分布式系统,分布式事务操作的表或者分区可能分布在不同机器上,OceanBase 数据库采用两阶段提交协议保证事务的原子性,确保多台机器上的事务要么都提交成功要么都回滚。
一致性
事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性
OceanBase 数据库支持 Oracle 和 MySQL 兼容模式。在 Oracle 模式下,支持 Read Committed 隔离级别和 Serializable 隔离级别。在 MySQL 模式下,支持 Read Committed 隔离级别、 Repeatable Read 隔离级别、Read Uncommitted 隔离级别和 Serializable 隔离级别。
持久化
对于单个机器来说,OceanBase 数据库通过 redo log 记录了数据的修改,通过 WAL 机制保证在宕机重启之后能够恢复出来。保证事务一旦提交成功,事务数据一定不会丢失。对于整个集群来说,OceanBase 数据库通过 paxos 协议将数据同步到多个副本,只要多数派副本存活事务数据一定不会丢失。