增量整数PK是否会在DynamoDB中产生统一的工作负载

时间:2015-06-23 16:55:25

标签: amazon-web-services primary-key amazon-dynamodb

我希望在DynamoDB中索引一些数据,并希望键入递增的整数ID。较高的ID将获得大部分流量,但是这将在数万个最高ID中均匀分布。这会创建统一的数据访问权限important for DynamoDB吗?

AWS似乎没有公布他们用于生成主键的哈希算法的详细信息。我假设它类似于md5,例如,as_sql()的哈希与300030013002完全不同,因此它会导致均匀分布的工作量。

我问的原因是,我知道这是 S3中的情况,在这种情况下他们建议reversing auto incrementing IDs

2 个答案:

答案 0 :(得分:2)

DynamoDB似乎没有公开文档中散列的内部工作原理。很多places似乎引用了MD5,但我不确定它们是否可以被认为具有权威性。

有关数字序列哈希分布的有趣研究here。有趣的数据集是数据集4和数据集5,它们处理数字序列。从分区的角度来看,大多数散列函数(以及MD5更多)似乎都能令人满意地分布。

答案 1 :(得分:0)

AWS已确认使用递增整数ID将创建均匀工作负载:

  

如果使用递增数字作为散列键,它们将在散列键空间中平均分配。

来源:https://forums.aws.amazon.com/thread.jspa?threadID=189362&tstart=0