我在博客中读到,我可以使用租户 ID 作为分区键来“制作”一个 dynamodb 表 Multi-Tenancy ,例如排序键作为客户 ID。
这听起来不错,但想象一下,我有一个租户 id = X 的大量工作负载,所以我将在同一个分区上有大量工作负载。
创建一个连接tenantid + customerid的哈希键是否更好,这样我就没有热点?
最佳答案
是的,您可以,具体取决于您的访问模式。
每当您想Get
或 Query
DynamoDB 表中的项目,您需要提供确切的分区键。如果你不这样做,你只能Scan
,这是一个代价高昂的操作。
如果您对 tenant-id + customer-id>
中的数据最感兴趣,然后使它成为分区键是有意义的。如果您没有 customer-id
,那么你应该保留 tenant-id
作为分区键。
关于amazon-dynamodb - DynamoDB Multi-Tenancy - 分区键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40819052/