数据库事务包含了数据库上的一系列操作,事务使得数据库从一个一致的状态转化到另一个一致的状态。
数据库事务有两个作用:
为数据库操作序列提供一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。
为数据库的多个并发访问提供隔离的方法,避免多个并发操作导致数据库进入一个不一致的状态。
数据库事务具有 4 个特性:原子性、一致性、隔离性、持久性。这四个属性通常称为 ACID 特性。
原子性
OceanBase 数据库是一个分布式系统,分布式事务操作的表或者分区可能分布在不同机器上,OceanBase 数据库采用两阶段提交协议保证事务的原子性,确保多台机器上的事务要么都提交成功要么都回滚。
一致性
事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性
OceanBase 数据库支持 Oracle 和 MySQL 兼容模式。在 Oracle 模式下,支持 Read Committed 隔离级别和 Serializable 隔离级别。在 MySQL 模式下,支持 Read Committed 隔离级别和 Repeatable Read 隔离级别。
* 持久化 对于单个机器来说,OceanBase 数据库通过 redo log 记录了数据的修改,通过 WAL 机制保证在宕机重启之后能够恢复出来。保证事务一旦提交成功,事务数据一定不会丢失。对于整个集群来说,OceanBase 数据库通过 paxos 协议将数据同步到多个副本,只要多数派副本存活事务数据一定不会丢失。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




