基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
OceanBase 数据库 MySQL 模式下的事务隔离级别指南
更新时间:2025-03-02 04:16
在数据库系统中,事务隔离级别定义了多个事务并发执行时相互隔离的程度。常见的事务隔离级别包括:
- READ UNCOMMITTED
- READ COMMITTED
- REPEATABLE READ
- SERIALIZABLE
OceanBase MySQL 模式下的隔离级别支持
当前支持的隔离级别
在 OceanBase MySQL 模式下,实际支持的事务隔离级别如下:
- REPEATABLE READ (RR): 该模式确保事务在整个生命周期内读取的记录是一致的。
- READ COMMITTED (RC): 该模式允许读取已提交的数据,防止脏读。
SERIALIZABLE 隔离级别
尽管 OceanBase MySQL 模式下没有实现 Serializable 隔离级别,但仍然允许用户设置该隔离级别。设定成功后,数据库在实际运行中表现与 REPEATABLE READ 隔离级别类似。
OceanBase MySQL 模式与原生 MySQL 的区别
REPEATABLE READ 隔离级别的差异
在 OceanBase MySQL 模式下,REPEATABLE READ 隔离级别的内部实现与原生 MySQL 的 REPEATABLE READ 隔离级别存在显著差异。OceanBase 的实现实际上与 Oracle 模式下的得序列化隔离级别(Serializable Isolation, SI)相似。
原生 MySQL 的 REPEATABLE READ:使用幻读阻止机制,通过锁定来确保在同一事务中对同一数据的多次读取得到一致的结果。
OceanBase 的 REPEATABLE READ:基于 Oracle SI 的实现,通过时间戳来管理读写操作,从而实现一致性。
适用版本
OceanBase 数据库所有版本