Skip to content

Commit f403404

Browse files
committed
remove the leading TAB character in almost all paragraphs, suggested by @XIJINIAN
1 parent b7769f6 commit f403404

26 files changed

+3108
-3106
lines changed

ch1.md

+93-93
Large diffs are not rendered by default.

ch10.md

+218-218
Large diffs are not rendered by default.

ch11.md

+224-224
Large diffs are not rendered by default.

ch12.md

+299-299
Large diffs are not rendered by default.

ch3.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ $ cat database
110110

111111
***文件格式***
112112

113-
CSV不是日志的最佳格式。使用二进制格式更快,更简单,首先以字节为单位对字符串的长度进行编码,然后使用原始字符串(不需要转义)。
113+
CSV不是日志的最佳格式。使用二进制格式更快,更简单,首先以字节为单位对字符串的长度进行编码,然后使用原始字符串(不需要转义)。
114114

115115
***删除记录***
116116

ch4.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@
2626

2727
***向后兼容 (backward compatibility)***
2828

29-
新代码可以读旧数据。
29+
新代码可以读旧数据。
3030

3131
***向前兼容 (forward compatibility)***
3232

33-
旧代码可以读新数据。
33+
旧代码可以读新数据。
3434

3535
向后兼容性通常并不难实现:新代码的作者当然知道由旧代码使用的数据格式,因此可以显示地处理它(最简单的办法是,保留旧代码即可读取旧数据)。
3636

ch5.md

+178-178
Large diffs are not rendered by default.

ch6.md

+91-91
Large diffs are not rendered by default.

ch7.md

+25-25
Large diffs are not rendered by default.

ch8.md

+160-160
Large diffs are not rendered by default.

ch9.md

+255-254
Large diffs are not rendered by default.

en-us/ch7.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -53,27 +53,27 @@ In this chapter, we went particularly deep into the topic of concurrency control
5353

5454
***Dirty reads***
5555

56-
One client reads another client’s writes before they have been committed. The read committed isolation level and stronger levels prevent dirty reads.
56+
One client reads another client’s writes before they have been committed. The read committed isolation level and stronger levels prevent dirty reads.
5757

5858
***Dirty writes***
5959

60-
One client overwrites data that another client has written, but not yet committed. Almost all transaction implementations prevent dirty writes.
60+
One client overwrites data that another client has written, but not yet committed. Almost all transaction implementations prevent dirty writes.
6161

6262
***Read skew (nonrepeatable reads)***
6363

64-
A client sees different parts of the database at different points in time. This issue is most commonly prevented with snapshot isolation, which allows a transaction to read from a consistent snapshot at one point in time. It is usually implemented with *multi-version concurrency control* (MVCC).
64+
A client sees different parts of the database at different points in time. This issue is most commonly prevented with snapshot isolation, which allows a transaction to read from a consistent snapshot at one point in time. It is usually implemented with *multi-version concurrency control* (MVCC).
6565

6666
***Lost updates***
6767

68-
Two clients concurrently perform a read-modify-write cycle. One overwrites the other’s write without incorporating its changes, so data is lost. Some implemen‐ tations of snapshot isolation prevent this anomaly automatically, while others require a manual lock (SELECT FOR UPDATE).
68+
Two clients concurrently perform a read-modify-write cycle. One overwrites the other’s write without incorporating its changes, so data is lost. Some implemen‐ tations of snapshot isolation prevent this anomaly automatically, while others require a manual lock (SELECT FOR UPDATE).
6969

7070
***Write skew***
7171

72-
A transaction reads something, makes a decision based on the value it saw, and writes the decision to the database. However, by the time the write is made, the premise of the decision is no longer true. Only serializable isolation prevents this anomaly.
72+
A transaction reads something, makes a decision based on the value it saw, and writes the decision to the database. However, by the time the write is made, the premise of the decision is no longer true. Only serializable isolation prevents this anomaly.
7373

7474
***Phantom reads***
7575

76-
A transaction reads objects that match some search condition. Another client makes a write that affects the results of that search. Snapshot isolation prevents straightforward phantom reads, but phantoms in the context of write skew require special treatment, such as index-range locks.
76+
A transaction reads objects that match some search condition. Another client makes a write that affects the results of that search. Snapshot isolation prevents straightforward phantom reads, but phantoms in the context of write skew require special treatment, such as index-range locks.
7777

7878

7979

en-us/ch9.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -41,27 +41,27 @@ We saw that achieving consensus means deciding something in such a way that all
4141

4242
***Linearizable compare-and-set registers***
4343

44-
The register needs to atomically *decide* whether to set its value, based on whether its current value equals the parameter given in the operation.
44+
The register needs to atomically *decide* whether to set its value, based on whether its current value equals the parameter given in the operation.
4545

4646
***Atomic transaction commit***
4747

48-
A database must *decide* whether to commit or abort a distributed transaction.
48+
A database must *decide* whether to commit or abort a distributed transaction.
4949

5050
***Total order broadcast***
5151

52-
The messaging system must *decide* on the order in which to deliver messages.
52+
The messaging system must *decide* on the order in which to deliver messages.
5353

5454
***Locks and leases***
5555

56-
When several clients are racing to grab a lock or lease, the lock *decides* which one successfully acquired it.
56+
When several clients are racing to grab a lock or lease, the lock *decides* which one successfully acquired it.
5757

5858
***Membership/coordination service***
5959

60-
Given a failure detector (e.g., timeouts), the system must *decide* which nodes are alive, and which should be considered dead because their sessions timed out.
60+
Given a failure detector (e.g., timeouts), the system must *decide* which nodes are alive, and which should be considered dead because their sessions timed out.
6161

6262
***Uniqueness constraint***
6363

64-
When several transactions concurrently try to create conflicting records with the same key, the constraint must *decide* which one to allow and which should fail with a constraint violation.
64+
When several transactions concurrently try to create conflicting records with the same key, the constraint must *decide* which one to allow and which should fail with a constraint violation.
6565

6666

6767

part-ii.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@
5353

5454
***复制(Replication)***
5555

56-
在几个不同的节点上保存数据的相同副本,可能放在不同的位置。 复制提供了冗余:如果一些节点不可用,剩余的节点仍然可以提供数据服务。 复制也有助于改善性能。 [第五章](ch5.md)将讨论复制。
56+
在几个不同的节点上保存数据的相同副本,可能放在不同的位置。 复制提供了冗余:如果一些节点不可用,剩余的节点仍然可以提供数据服务。 复制也有助于改善性能。 [第五章](ch5.md)将讨论复制。
5757

5858
***分区 (Partitioning)***
5959

60-
将一个大型数据库拆分成较小的子集(称为**分区(partitions)**),从而不同的分区可以指派给不同的**节点(node)**(亦称**分片(shard)**)。 [第六章](ch6.md)将讨论分区。
60+
将一个大型数据库拆分成较小的子集(称为**分区(partitions)**),从而不同的分区可以指派给不同的**节点(node)**(亦称**分片(shard)**)。 [第六章](ch6.md)将讨论分区。
6161

6262
复制和分区是不同的机制,但它们经常同时使用。如[图II-1](img/figii-1.png)所示。
6363

0 commit comments

Comments
 (0)