数据库并发控制:锁机制、事务隔离及乐观悲观策略

该思维导图概述了并发控制的概念、重要性和类型。并发控制旨在确保多个事务同时执行时数据的一致性,提高系统性能。它主要分为悲观并发控制(依赖锁机制,包括错误恢复)和乐观并发控制(依赖版本控制,包括提交时检查)两种类型,以及基于行级版本的快照隔离。锁机制包括共享锁(允许读)、排他锁(限制写)和意图锁(提高并发性)。事务隔离级别则有未提交读、已提交读、可重复读和串行化四个等级,隔离级别越高,数据一致性越强,并发性越低。

源码
# 数据库并发控制
## 定义
- 确保多个事务同时执行时的一致性
## 重要性
- 提高系统性能
- 增强数据一致性
## 类型
### 悲观并发控制
- 依赖于:锁机制
- 特点
  - 适用于高冲突场景
  - 可能导致死锁
- 包括
  - 错误恢复
    - 回滚机制
    - 日志记录
### 乐观并发控制
- 依赖于:版本控制
- 特点
  - 适用于低冲突场景
  - 提交时检查版本
- 包括
  - 提交时检查
    - 检查版本一致性
    - 冲突处理策略
### 快照隔离
- 依赖于:行级版本
- 特点
  - 并发读取
  - 保证数据一致性
## 锁机制
### 共享锁
- 特点
  - 允许读操作
  - 多个事务可同时持有
- 适用场景
  - 查询操作
### 排他锁
- 特点
  - 限制写操作
  - 只能有一个事务持有
- 适用场景
  - 数据更新
### 意图锁
- 特点
  - 提高并发性
  - 用于表级锁配合行级锁
- 类型
  - 意图共享锁
  - 意图排他锁
## 事务隔离级别
### 未提交读
- 特点
  - 允许读取未提交数据
  - 提高并发性
  - 数据不一致风险
### 已提交读
- 特点
  - 只能读取已提交数据
  - 阻止脏读
### 可重复读
- 特点
  - 确保重复读的结果一致
  - 阻止不可重复读
### 串行化
- 特点
  - 最严格的隔离级别
  - 阻止幻读
  - 性能最低
图片
数据库并发控制:锁机制、事务隔离及乐观悲观策略