fix ch7 links and format

This commit is contained in:
Vonng 2021-02-01 10:24:13 +08:00
parent 42002faaeb
commit 5b19cead90

4
ch7.md
View File

@ -59,7 +59,7 @@
一般来说,原子是指不能分解成小部分的东西。这个词在计算机的不同领域中意味着相似但又微妙不同的东西。例如,在多线程编程中,如果一个线程执行一个原子操作,这意味着另一个线程无法看到该操作的一半结果。系统只能处于操作之前或操作之后的状态,而不是介于两者之间的状态。 一般来说,原子是指不能分解成小部分的东西。这个词在计算机的不同领域中意味着相似但又微妙不同的东西。例如,在多线程编程中,如果一个线程执行一个原子操作,这意味着另一个线程无法看到该操作的一半结果。系统只能处于操作之前或操作之后的状态,而不是介于两者之间的状态。
相比之下ACID的原子性并**不**是关于**并发concurrent**的。它并不是在描述如果几个进程试图同时访问相同的数据会发生什么情况,这种情况包含在缩写 ***I*** 中,即[**隔离性Isolation**](#隔离性Isolation) 相比之下ACID的原子性并**不**是关于 **并发concurrent** 的。它并不是在描述如果几个进程试图同时访问相同的数据会发生什么情况,这种情况包含在缩写 ***I*** 中,即[**隔离性Isolation**](#隔离性Isolation)
ACID的原子性而是描述了当客户想进行多次写入但在一些写操作处理完之后出现故障的情况。例如进程崩溃网络连接中断磁盘变满或者某种完整性约束被违反。如果这些写操作被分组到一个原子事务中并且该事务由于错误而不能完成提交则该事务将被中止并且数据库必须丢弃或撤消该事务中迄今为止所做的任何写入。 ACID的原子性而是描述了当客户想进行多次写入但在一些写操作处理完之后出现故障的情况。例如进程崩溃网络连接中断磁盘变满或者某种完整性约束被违反。如果这些写操作被分组到一个原子事务中并且该事务由于错误而不能完成提交则该事务将被中止并且数据库必须丢弃或撤消该事务中迄今为止所做的任何写入。
@ -98,7 +98,7 @@ ACID意义上的隔离性意味着**同时执行的事务是相互隔离的**
**图7-1 两个客户之间的竞争状态同时递增计数器** **图7-1 两个客户之间的竞争状态同时递增计数器**
然而实践中很少会使用可序列化隔离因为它有性能损失。一些流行的数据库如Oracle 11g甚至没有实现它。在Oracle中有一个名为“可序列化”的隔离级别但实际上它实现了一种叫做**快照隔离snapshot isolation** 的功能,**这是一种比可序列化更弱的保证**【8,11】。我们将在“[弱隔离级]()”中研究快照隔离和其他形式的隔离。 然而实践中很少会使用可序列化隔离因为它有性能损失。一些流行的数据库如Oracle 11g甚至没有实现它。在Oracle中有一个名为“可序列化”的隔离级别但实际上它实现了一种叫做**快照隔离snapshot isolation** 的功能,**这是一种比可序列化更弱的保证**【8,11】。我们将在“[弱隔离级](#弱隔离级别)”中研究快照隔离和其他形式的隔离。
#### 持久性Durability #### 持久性Durability