From 93cb6d79d1490cae6c3c8e340460cd77fde8bc41 Mon Sep 17 00:00:00 2001 From: xianlaioy Date: Tue, 31 Dec 2019 11:09:48 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=92=9F-->=E7=A7=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ch6.md b/ch6.md index 5cfd838..a73ea5c 100644 --- a/ch6.md +++ b/ch6.md @@ -105,7 +105,7 @@ ​ 这种场景也许并不常见,但并非闻所未闻:例如,在社交媒体网站上,一个拥有数百万追随者的名人用户在做某事时可能会引发一场风暴【14】。这个事件可能导致大量写入同一个键(键可能是名人的用户ID,或者人们正在评论的动作的ID)。哈希策略不起作用,因为两个相同ID的哈希值仍然是相同的。 -​ 如今,大多数数据系统无法自动补偿这种高度偏斜的负载,因此应用程序有责任减少偏斜。例如,如果一个主键被认为是非常火爆的,一个简单的方法是在主键的开始或结尾添加一个随机数。只要一个两位数的十进制随机数就可以将主键分散为100钟不同的主键,从而存储在不同的分区中。 +​ 如今,大多数数据系统无法自动补偿这种高度偏斜的负载,因此应用程序有责任减少偏斜。例如,如果一个主键被认为是非常火爆的,一个简单的方法是在主键的开始或结尾添加一个随机数。只要一个两位数的十进制随机数就可以将主键分散为100不同的主键,从而存储在不同的分区中。 ​ 然而,将主键进行分割之后,任何读取都必须要做额外的工作,因为他们必须从所有100个主键分布中读取数据并将其合并。此技术还需要额外的记录:只需要对少量热点附加随机数;对于写入吞吐量低的绝大多数主键来是不必要的开销。因此,您还需要一些方法来跟踪哪些键需要被分割。 From 13d28806e5e187f6cef7405c3d70b23aa56b339e Mon Sep 17 00:00:00 2001 From: "george.ouyang" Date: Tue, 31 Dec 2019 11:24:38 +0800 Subject: [PATCH 2/3] =?UTF-8?q?docs:=E9=92=9F-->=E7=A7=8D=EF=BC=8C?= =?UTF-8?q?=E5=8E=BB=E6=8E=89ou?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch6.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ch6.md b/ch6.md index a73ea5c..c2c1a7e 100644 --- a/ch6.md +++ b/ch6.md @@ -105,7 +105,7 @@ ​ 这种场景也许并不常见,但并非闻所未闻:例如,在社交媒体网站上,一个拥有数百万追随者的名人用户在做某事时可能会引发一场风暴【14】。这个事件可能导致大量写入同一个键(键可能是名人的用户ID,或者人们正在评论的动作的ID)。哈希策略不起作用,因为两个相同ID的哈希值仍然是相同的。 -​ 如今,大多数数据系统无法自动补偿这种高度偏斜的负载,因此应用程序有责任减少偏斜。例如,如果一个主键被认为是非常火爆的,一个简单的方法是在主键的开始或结尾添加一个随机数。只要一个两位数的十进制随机数就可以将主键分散为100不同的主键,从而存储在不同的分区中。 +​ 如今,大多数数据系统无法自动补偿这种高度偏斜的负载,因此应用程序有责任减少偏斜。例如,如果一个主键被认为是非常火爆的,一个简单的方法是在主键的开始或结尾添加一个随机数。只要一个两位数的十进制随机数就可以将主键分散为100种不同的主键,从而存储在不同的分区中。 ​ 然而,将主键进行分割之后,任何读取都必须要做额外的工作,因为他们必须从所有100个主键分布中读取数据并将其合并。此技术还需要额外的记录:只需要对少量热点附加随机数;对于写入吞吐量低的绝大多数主键来是不必要的开销。因此,您还需要一些方法来跟踪哪些键需要被分割。 @@ -407,5 +407,4 @@ | :--------------------: | :-----------------------------: | :--------------------: | | [第五章:复制](ch5.md) | [设计数据密集型应用](README.md) | [第七章:事务](ch7.md) | -ou From ca3c0de597e079310d2df915e00b71ba8dff0b25 Mon Sep 17 00:00:00 2001 From: xianlaioy Date: Wed, 1 Jan 2020 20:37:00 +0800 Subject: [PATCH 3/3] =?UTF-8?q?procedure=20=E6=8B=BC=E5=86=99=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glossary.md b/glossary.md index 8c2f87b..a48ce3c 100644 --- a/glossary.md +++ b/glossary.md @@ -318,7 +318,7 @@ -### 存储过程(stored procdure) +### 存储过程(stored procedure) 一种对事务逻辑进行编码的方式,它可以完全在数据库服务器上执行,事务执行期间无需与客户端通信。 请参阅第252页的“实际串行执行”。