DynamoDB中相同分区键的数据分布

Dr.*_*Pro 5 database distributed-system amazon-web-services nosql amazon-dynamodb

据我了解,DynamoDB尝试将具有相同分区键的项目放入同一分区。我的问题是,当分区已满并分成两个不同的分区时,哈希如何工作?

例如,一个表具有一个分区键A,并且DynamoDB将所有带有分区键的项目A放入同一个分区P,然后P已满,dynamo将拆分PP1P2,现在客户端将插入I一个带有分区键的新项目,Adynamo如何确定要插入哪个分区(即P1P2I

Muh*_*man 1

分区键主要用于指定数据的物理存储位置,这是通过使用一致性哈希函数将数据分布到不同的分区或物理存储中来完成的。要使用分区键读取值,它将使用相同的散列函数对其进行散列以获得正确的分区,然后从该分区获取数据。而排序键用于索引每个分区内的数据。

分区键的设计应保持工作负载的均匀分布,而不是让某些分区完全溢出或加载,而其他分区空闲。

您可以在这里阅读更多相关内容:

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.Partitions.html

https://cloudacademy.com/blog/dynamodb-replication-and-partitioning-part-4/