Amazon dynamodb dynamodbuuid散列键是否比顺序生成的散列键更好

Amazon dynamodb dynamodbuuid散列键是否比顺序生成的散列键更好,amazon-dynamodb,Amazon Dynamodb,我想我理解了不使用热哈希键的概念,这样您就可以在配置吞吐量时使用所有分区。但是UUID散列键在跨分区分布方面比按数字顺序排列的散列键做得更好吗?在这两种情况下,是否从键生成哈希代码,并使用该值分配给分区?如果是这样,那么“100444”和“100445”这两个字符串的哈希代码有什么不同?他们接近了吗 “100444”和“100445”不太可能位于同一分区中,而不是完全不同的数字,例如“12345”。将DynamoDB表视为一个大哈希表,其中表的哈希键是哈希表的键。底层哈希表由键的哈希组织,而不是

我想我理解了不使用热哈希键的概念,这样您就可以在配置吞吐量时使用所有分区。但是UUID散列键在跨分区分布方面比按数字顺序排列的散列键做得更好吗?在这两种情况下,是否从键生成哈希代码,并使用该值分配给分区?如果是这样,那么“100444”和“100445”这两个字符串的哈希代码有什么不同?他们接近了吗

“100444”和“100445”不太可能位于同一分区中,而不是完全不同的数字,例如“12345”。将DynamoDB表视为一个大哈希表,其中表的哈希键是哈希表的键。底层哈希表由键的哈希组织,而不是键本身。您会发现数字和字符串(UUID)在DynamoDB中的分布都很好,它们在分区之间的分布情况也很好

UUID在DynamoDB中很有用,因为很难以可伸缩的方式为主键生成序列号。随机数对于主键很有效,但是如果没有间隙,并且按照可以在DynamoDB表中提供的吞吐量级别进行扩展,则很难生成顺序值。将新项插入DynamoDB表时,可以使用以确保不存在具有该主键值的项


(注意:这个问题也在交叉发布,并在那里进行了讨论)。

是的,对此表示抱歉。我试图发布你的答案,但在8小时内我无法发布。没问题,将问题发布到多个位置和所有内容是很常见的-我只是在stack overflow中查看开放式问题,遇到了这个问题。谢谢你澄清这一点,David!仅供参考,David是AWS上的DynamoDB团队成员,并在AWS re:Invent 2014()上展示