gpt4 book ai didi

amazon-web-services - Dynamo DB : global secondary index, 稀疏索引

转载 作者:行者123 更新时间:2023-12-04 08:05:06 25 4
gpt4 key购买 nike

我正在考虑利用 AWS guidelines 中描述的稀疏索引。 .在描述的例子中——

... in the GameScores table, certain players might have earned a particular achievement for a game - such as "Champ" - but most players have not. Rather than scanning the entire GameScores table for Champs, you could create a global secondary index with a partition key of Champ and a sort key of UserId.



我的问题是:当冠军数量变得非常多时会发生什么?我想“冠军”分区会变得非常大,你会开始体验不均匀的负载分布。为了获得均匀的负载分布,我是否需要通过(有效地)分片来随机化“Champ”值 n碎片,例如 Champ.0 , Champ.1 ... Champ.99 ?

或者,在获取具有可能随着时间变大的特定属性的实体时,是否可以使用不同的访问模式?

最佳答案

这正是您需要的解决方案(Champ.0、Champ.1 ... Champ.N)

N 应该是 [此索引的预期分区 + 一些增长差距](如果您期望高负载或许多“冠军”,那么您可以选择 N=200)(为了在分区上获得良好的散列分布)。我建议 N 对 userId 取模。 (这可以帮助您通过 userId 进行一些操作。)

如果您的哈希键是 bool 值(在 dynamodb 中,您可以将 bool 值表示为字符串),我们也会使用此解决方案,因此在这种情况下,哈希值将是“true.0”、“true.1”....“true.N” “假”也是如此。

关于amazon-web-services - Dynamo DB : global secondary index, 稀疏索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37140579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com