我在博客中读到过我可以做出的#34;一个dynamodb表多租户,使用租户id作为分区密钥,例如排序键作为客户ID。
听起来不错,但想象一下,我的租户id = X有很大的工作量,所以我在同一个分区上会有很大的工作量。
创建一个连接tenantid + customerid的哈希密钥是否更好,所以我不会有热点?
答案 0 :(得分:1)
是的,您可以,具体取决于您的访问模式。
每当您想要来自DynamoDB表的Get
或Query
项时,您需要提供准确的分区键。如果你不这样做,你只能Scan
,这是一项代价高昂的操作。
如果您对tenant-id + customer-id>
的数据感兴趣,那么将其设为分区密钥是有意义的。如果您没有customer-id
,那么您应该将tenant-id
作为分区密钥。