From 93cb6d79d1490cae6c3c8e340460cd77fde8bc41 Mon Sep 17 00:00:00 2001 From: xianlaioy Date: Tue, 31 Dec 2019 11:09:48 +0800 Subject: [PATCH] =?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个主键分布中读取数据并将其合并。此技术还需要额外的记录:只需要对少量热点附加随机数;对于写入吞吐量低的绝大多数主键来是不必要的开销。因此,您还需要一些方法来跟踪哪些键需要被分割。 -- GitLab