From 13d28806e5e187f6cef7405c3d70b23aa56b339e Mon Sep 17 00:00:00 2001 From: "george.ouyang" Date: Tue, 31 Dec 2019 11:24:38 +0800 Subject: [PATCH] =?UTF-8?q?docs:=E9=92=9F-->=E7=A7=8D=EF=BC=8C=E5=8E=BB?= =?UTF-8?q?=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 -- GitLab