gpt4 book ai didi

amazon-web-services - 在 DynamoDB 中保留大量分布式哈希集

转载 作者:行者123 更新时间:2023-12-01 04:41:32 25 4
gpt4 key购买 nike

问题

我想编写一个应用程序,用户可以在其中输入 128 个字符或更少的任何字符串,该应用程序将告诉用户他们过去是否输入过该字符串。

预计每个用户可能会有大量的字符串计数,数量级为数百万,以及数万个用户。

问题

在我看来,DynamoDB 是解决这个问题的合理选择,分区键作为用户 ID,排序键作为相关字符串。

这合理吗?无服务器哈希集是否还有其他既定模式?

最佳答案

我提出了一个不同的解决方案,我认为它会在 Dynamo 上运行得更好。

不使用 UserId 作为分区键,使用“User String”作为排序键,相反:使用“User String”作为分区键,使用 UserId 作为排序键。

同一字符串被多人使用的可能性相对较小,这将为您提供非常好的键空间分布 - 这正是 DynamoDB 的全部意义所在。

确定该字符串过去是否曾被同一用户使用过的查询根本没有改变——它仍然是一个 GetItem手术。

而且您不需要散列用户字符串。无论如何,DynamoDB 都会在幕后为您进行哈希处理。既然你说字符串将是 128 个字符或更少,那么你真的没有什么可担心的。

您可能考虑散列的唯一原因是您是否希望保持匿名。在这种情况下,请通读这篇解释 how to use k-anonimity to protect users privacy 的文章.即使你不关心那个用例,我认为这篇文章也是必读的!

关于amazon-web-services - 在 DynamoDB 中保留大量分布式哈希集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49804701/

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