From b71985e21ed346f8cf41dc9c3b660347c88a58d9 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Sun, 8 Dec 2019 01:26:22 +0800 Subject: [PATCH] auto commit --- docs/notes/数据库系统原理.md | 70 ++++++++++++++++--------- notes/pics/image-20191207223334985.png | Bin 0 -> 57939 bytes notes/pics/image-20191207223400787.png | Bin 0 -> 58453 bytes notes/pics/image-20191208012527591.png | Bin 0 -> 31299 bytes notes/数据库系统原理.md | 70 ++++++++++++++++--------- 5 files changed, 90 insertions(+), 50 deletions(-) create mode 100644 notes/pics/image-20191207223334985.png create mode 100644 notes/pics/image-20191207223400787.png create mode 100644 notes/pics/image-20191208012527591.png diff --git a/docs/notes/数据库系统原理.md b/docs/notes/数据库系统原理.md index 8531af97..fabee396 100644 --- a/docs/notes/数据库系统原理.md +++ b/docs/notes/数据库系统原理.md @@ -19,9 +19,10 @@ * [可重复读(REPEATABLE READ)](#可重复读repeatable-read) * [可串行化(SERIALIZABLE)](#可串行化serializable) * [五、多版本并发控制](#五多版本并发控制) + * [基本思想](#基本思想) + * [Undo 日志](#undo-日志) * [版本号](#版本号) * [隐藏的列](#隐藏的列) - * [Undo 日志](#undo-日志) * [实现过程](#实现过程) * [快照读与当前读](#快照读与当前读) * [六、Next-Key Locks](#六next-key-locks) @@ -189,7 +190,6 @@ MySQL 中提供了两种封锁粒度:行级锁以及表级锁。

- **三级封锁协议** 在二级的基础上,要求读取数据 A 时必须加 S 锁,直到事务结束了才能释放 S 锁。 @@ -249,20 +249,39 @@ SELECT ... FOR UPDATE; ---- -| | 脏读 | 不可重复读 | 幻影读 | -| :---: | :---: | :---:| :---: | -| 未提交读 | √ | √ | √ | -| 提交读 | × | √ | √ | -| 可重复读 | × | × | √ | -| 可串行化 | × | × | × | +

# 五、多版本并发控制 多版本并发控制(Multi-Version Concurrency Control, MVCC)是 MySQL 的 InnoDB 存储引擎实现隔离级别的一种具体方式,用于实现提交读和可重复读这两种隔离级别。而未提交读隔离级别总是读取最新的数据行,要求很低,无需使用 MVCC。可串行化隔离级别需要对所有读取的行都加锁,单纯使用 MVCC 无法实现。 -## 版本号 +## 基本思想 -在封锁一节中提到,加锁能解决多个事务同时执行时出现的并发一致性问题。但是封锁操作代价很高,而多版本并发控制采用无锁机制,而是利用“版本”来解决并发一致性问题。它的基本思想是为每个数据行维护创建 +在封锁一节中提到,加锁能解决多个事务同时执行时出现的并发一致性问题。但是加锁操作代价很高,并且在实际场景中读多写少,所有事务都是只是进行读操作的话就没必要进行加锁。 + +MVCC 的读操作不需要进行加锁,并且在可重复读隔离级别下能解决脏读和不可重复读问题。它的基本思想是为每个数据行维护多个版本的快照,多个事务可以同时去操作这个数据行。 + +事务的修改操作(DELETE、INSERT、UPDATE)会去修改该事务对应版本的快照。 + +脏读和不可重复读最根本的原因是事务读取到其它事务未提交的修改。在事务在进行读取操作时,为了解决脏读和不可重复读问题,读取的快照需要满足以下条件:快照在该事务开始之后没有被其它事务修改,否则会读取到其它事务的未提交的修改操作。 + +## Undo 日志 + +MVCC 的多版本指的是多个版本的快照,这个快照存储在 Undo 日志中,该日志通过回滚指针把一个数据行的所有快照连接起来。 + +例如我们在 MySQL 创建一个表 t,包含主键 id 和一个字段 x。我们先插入一个数据行,然后对该数据行执行两次操作。 + +```sql +INSERT INTO t(id, x) VALUES(1, "a"); +UPDATE t SET x="b" WHERE id=1; +UPDATE t SET x="c" WHERE id=1; +``` + +因为我们没有使用 `START TRANSACTION` 将上面的操作当成一个事务来执行,根据 MySQL 的 AUTOCOMMIT 机制,每个操作都会被当成一个事务来执行,所以上面总共涉及到三个事务。 + +

+ +## 版本号 - 系统版本号:是一个递增的数字,每开始一个新的事务,系统版本号就会自动递增。 - 事务版本号:事务开始时的系统版本号。 @@ -274,17 +293,13 @@ MVCC 在每行记录后面都保存着两个隐藏的列,用来存储两个版 - 创建版本号:指示创建一个数据行的快照时的系统版本号; - 删除版本号:如果该快照的删除版本未定义或删除版本号大于当前事务版本号表示该快照有效 -## Undo 日志 -MVCC 使用到的快照存储在 Undo 日志中,该日志通过回滚指针把一个数据行(Record)的所有快照连接起来。 - -

## 实现过程 以下实现过程针对可重复读隔离级别。 -当开始一个事务时,该事务的版本号肯定大于当前所有数据行快照的创建版本号,理解这一点很关键。数据行快照的创建版本号是创建数据行快照时的系统版本号,系统版本号随着创建事务而递增,因此新创建一个事务时,这个事务的系统版本号比之前的系统版本号都大,也就是比所有数据行快照的创建版本号都大。 +当开始一个事务时,该事务的版本号肯定大于当前所有数据行快照的创建版本号。数据行快照的创建版本号是创建数据行快照时的系统版本号,系统版本号随着创建事务而递增,因此新创建一个事务时,这个事务的系统版本号比之前的系统版本号都大,也就是比所有数据行快照的创建版本号都大。 ### 1. SELECT @@ -308,22 +323,27 @@ MVCC 使用到的快照存储在 Undo 日志中,该日志通过回滚指针把 ### 1. 快照读 -使用 MVCC 读取的是快照中的数据,这样可以减少加锁所带来的开销。 +MVCC 的 SELECT 操作是快照中的数据,不需要进行加锁操作。 ```sql -select * from table ...; +SELECT * FROM table ...; ``` ### 2. 当前读 -读取的是最新的数据,需要加锁。以下第一个语句需要加 S 锁,其它都需要加 X 锁。 +MVCC 其它会对数据库进行修改的操作(INSERT、UPDATE、DELETE)需要加锁操作,从而读取最新的数据。 ```sql -select * from table where ? lock in share mode; -select * from table where ? for update; -insert; -update; -delete; +INSERT; +UPDATE; +DELETE; +``` + +在进行 SELECT 操作时,可以强制指定进行加锁操作。以下第一个语句需要加 S 锁,第二个需要加 X 锁。 + +```sql +SELECT * FROM table WHERE ? lock in share mode; +SELECT * FROM table WHERE ? for update; ``` # 六、Next-Key Locks @@ -348,14 +368,14 @@ SELECT c FROM t WHERE c BETWEEN 10 and 20 FOR UPDATE; ## Next-Key Locks -它是 Record Locks 和 Gap Locks 的结合,不仅锁定一个记录上的索引,也锁定索引之间的间隙,是一个前开后闭区间。例如一个索引包含以下值:10, 11, 13, and 20,那么就需要锁定以下区间: +它是 Record Locks 和 Gap Locks 的结合,不仅锁定一个记录上的索引,也锁定索引之间的间隙。它锁定一个前开后闭区间,例如一个索引包含以下值:10, 11, 13, and 20,那么就需要锁定以下区间: ```sql (-∞, 10] (10, 11] (11, 13] (13, 20] -(20, +supremum) +(20, +∞) ``` # 七、关系数据库设计理论 diff --git a/notes/pics/image-20191207223334985.png b/notes/pics/image-20191207223334985.png new file mode 100644 index 0000000000000000000000000000000000000000..74377d93f627f59969a3a9911b0af879d7149bb8 GIT binary patch literal 57939 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 literal 0 HcmV?d00001 diff --git a/notes/pics/image-20191207223400787.png b/notes/pics/image-20191207223400787.png new file mode 100644 index 0000000000000000000000000000000000000000..b716c84e33be6a4cbcabd9b76b842df86c77c94b GIT binary patch literal 58453 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 UC97B}Nbr#smlw+u(S7@W0c>HNNdN!< literal 0 HcmV?d00001 diff --git a/notes/pics/image-20191208012527591.png b/notes/pics/image-20191208012527591.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b369267c3679114143c547436061c7d8e6a732 GIT binary patch literal 31299 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
- **三级封锁协议** 在二级的基础上,要求读取数据 A 时必须加 S 锁,直到事务结束了才能释放 S 锁。 @@ -249,20 +249,39 @@ SELECT ... FOR UPDATE; ---- -| | 脏读 | 不可重复读 | 幻影读 | -| :---: | :---: | :---:| :---: | -| 未提交读 | √ | √ | √ | -| 提交读 | × | √ | √ | -| 可重复读 | × | × | √ | -| 可串行化 | × | × | × | +

# 五、多版本并发控制 多版本并发控制(Multi-Version Concurrency Control, MVCC)是 MySQL 的 InnoDB 存储引擎实现隔离级别的一种具体方式,用于实现提交读和可重复读这两种隔离级别。而未提交读隔离级别总是读取最新的数据行,要求很低,无需使用 MVCC。可串行化隔离级别需要对所有读取的行都加锁,单纯使用 MVCC 无法实现。 -## 版本号 +## 基本思想 -在封锁一节中提到,加锁能解决多个事务同时执行时出现的并发一致性问题。但是封锁操作代价很高,而多版本并发控制采用无锁机制,而是利用“版本”来解决并发一致性问题。它的基本思想是为每个数据行维护创建 +在封锁一节中提到,加锁能解决多个事务同时执行时出现的并发一致性问题。但是加锁操作代价很高,并且在实际场景中读多写少,所有事务都是只是进行读操作的话就没必要进行加锁。 + +MVCC 的读操作不需要进行加锁,并且在可重复读隔离级别下能解决脏读和不可重复读问题。它的基本思想是为每个数据行维护多个版本的快照,多个事务可以同时去操作这个数据行。 + +事务的修改操作(DELETE、INSERT、UPDATE)会去修改该事务对应版本的快照。 + +脏读和不可重复读最根本的原因是事务读取到其它事务未提交的修改。在事务在进行读取操作时,为了解决脏读和不可重复读问题,读取的快照需要满足以下条件:快照在该事务开始之后没有被其它事务修改,否则会读取到其它事务的未提交的修改操作。 + +## Undo 日志 + +MVCC 的多版本指的是多个版本的快照,这个快照存储在 Undo 日志中,该日志通过回滚指针把一个数据行的所有快照连接起来。 + +例如我们在 MySQL 创建一个表 t,包含主键 id 和一个字段 x。我们先插入一个数据行,然后对该数据行执行两次操作。 + +```sql +INSERT INTO t(id, x) VALUES(1, "a"); +UPDATE t SET x="b" WHERE id=1; +UPDATE t SET x="c" WHERE id=1; +``` + +因为我们没有使用 `START TRANSACTION` 将上面的操作当成一个事务来执行,根据 MySQL 的 AUTOCOMMIT 机制,每个操作都会被当成一个事务来执行,所以上面总共涉及到三个事务。 + +

+ +## 版本号 - 系统版本号:是一个递增的数字,每开始一个新的事务,系统版本号就会自动递增。 - 事务版本号:事务开始时的系统版本号。 @@ -274,17 +293,13 @@ MVCC 在每行记录后面都保存着两个隐藏的列,用来存储两个版 - 创建版本号:指示创建一个数据行的快照时的系统版本号; - 删除版本号:如果该快照的删除版本未定义或删除版本号大于当前事务版本号表示该快照有效 -## Undo 日志 -MVCC 使用到的快照存储在 Undo 日志中,该日志通过回滚指针把一个数据行(Record)的所有快照连接起来。 - -

## 实现过程 以下实现过程针对可重复读隔离级别。 -当开始一个事务时,该事务的版本号肯定大于当前所有数据行快照的创建版本号,理解这一点很关键。数据行快照的创建版本号是创建数据行快照时的系统版本号,系统版本号随着创建事务而递增,因此新创建一个事务时,这个事务的系统版本号比之前的系统版本号都大,也就是比所有数据行快照的创建版本号都大。 +当开始一个事务时,该事务的版本号肯定大于当前所有数据行快照的创建版本号。数据行快照的创建版本号是创建数据行快照时的系统版本号,系统版本号随着创建事务而递增,因此新创建一个事务时,这个事务的系统版本号比之前的系统版本号都大,也就是比所有数据行快照的创建版本号都大。 ### 1. SELECT @@ -308,22 +323,27 @@ MVCC 使用到的快照存储在 Undo 日志中,该日志通过回滚指针把 ### 1. 快照读 -使用 MVCC 读取的是快照中的数据,这样可以减少加锁所带来的开销。 +MVCC 的 SELECT 操作是快照中的数据,不需要进行加锁操作。 ```sql -select * from table ...; +SELECT * FROM table ...; ``` ### 2. 当前读 -读取的是最新的数据,需要加锁。以下第一个语句需要加 S 锁,其它都需要加 X 锁。 +MVCC 其它会对数据库进行修改的操作(INSERT、UPDATE、DELETE)需要加锁操作,从而读取最新的数据。 ```sql -select * from table where ? lock in share mode; -select * from table where ? for update; -insert; -update; -delete; +INSERT; +UPDATE; +DELETE; +``` + +在进行 SELECT 操作时,可以强制指定进行加锁操作。以下第一个语句需要加 S 锁,第二个需要加 X 锁。 + +```sql +SELECT * FROM table WHERE ? lock in share mode; +SELECT * FROM table WHERE ? for update; ``` # 六、Next-Key Locks @@ -348,14 +368,14 @@ SELECT c FROM t WHERE c BETWEEN 10 and 20 FOR UPDATE; ## Next-Key Locks -它是 Record Locks 和 Gap Locks 的结合,不仅锁定一个记录上的索引,也锁定索引之间的间隙,是一个前开后闭区间。例如一个索引包含以下值:10, 11, 13, and 20,那么就需要锁定以下区间: +它是 Record Locks 和 Gap Locks 的结合,不仅锁定一个记录上的索引,也锁定索引之间的间隙。它锁定一个前开后闭区间,例如一个索引包含以下值:10, 11, 13, and 20,那么就需要锁定以下区间: ```sql (-∞, 10] (10, 11] (11, 13] (13, 20] -(20, +supremum) +(20, +∞) ``` # 七、关系数据库设计理论