mirror of
https://github.com/Vonng/ddia.git
synced 2024-12-06 15:20:12 +08:00
fix ch7 links and format
This commit is contained in:
parent
42002faaeb
commit
5b19cead90
4
ch7.md
4
ch7.md
@ -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)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user