---
title: "数据并发性和一致性概述 - OceanBase 数据库 V4.2.2 | OceanBase 文档中心"
description: 数据并发性和一致性概述 数据并发性 为了更好地提高事务的处理能力，数据库允许用户通过事务并发地访问与修改同一个数据，我们需要为这种数据并发性来定义语义。 数据一致性 数据库通过维护每次更改，产生新的版本，从而做到读写不互斥, 这被称为多版本并发控制（MVCC）。对于不同的事务版本，我们需要为这种数据多版本来定义语义，…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.2.2

# 数据并发性和一致性概述

更新时间：2026-04-10 11:58:36

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.2/zh-CN/700.reference/100.oceanbase-database-concepts/800.transaction-management/200.transaction-concurrency-and-consistency/100.data-concurrency-and-consistency-overview.md)  

## 数据并发性

为了更好地提高事务的处理能力，数据库允许用户通过事务并发地访问与修改同一个数据，我们需要为这种数据并发性来定义语义。

## 数据一致性

数据库通过维护每次更改，产生新的版本，从而做到读写不互斥, 这被称为多版本并发控制（MVCC）。对于不同的事务版本，我们需要为这种数据多版本来定义语义，保证用户看到一个一致的数据库状态，即数据的一致性快照。

#### 说明

数据一致性不等价于 ACID 中的 C (Consistency)。

## 并发控制

以上两种语义我们称为并发控制模型，也就是 ACID 中的 I (Isolation level).

最简单的并发控制就是串行（serial）执行, 其中串行执行是指一个进程在另一个进程执行完(收到触发操作的回应)一个操作前不会触发下一个操作. 但这明显不符合高并发的需求. 因此学者们提出了一种可串行化（serializable），即可以通过并行(非串行)地执行事务内的多个操作, 但是最终需要达到和串行执行相同的结果。

有两种常见的实现机制, 即两阶段锁和乐观锁机制。前者是通过排它地通过加锁限制其他的事务的冲突修改，并通过死锁检测机制回滚产生循环的事务保证无环；后者通过在提交时的检测阶段，回滚所有可能会导致异常的事务保证不会产生异常。

但是实际上上述两种实现机制提供可串行化隔离级别会极大地影响性能，因此一般会通过允许一些容易接受的成环条件来暴露一些异常，并增加事务的性能和可扩展性。其中快照读和读已提交是比较常见的允许异常的并发控制, 也是 OceanBase 数据库的选择。如何定义隔离级别的抽象，能给予使用者在性能上和语义易用性上的平衡感是设计事务隔离级别（Isolation）的关键之一。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
