当我将“id”作为分区键并且我知道它始终是唯一的时,使用“时间戳”排序键有什么好处吗?

问题描述 投票:0回答:1

我有一个 DynamoDB 表,其分区键:

id
和排序键为数字
timestamp
(它将始终存在)。

id
永远是独一无二的。在这种情况下,使用
timestamp
作为排序键是否有意义? (并且只使用简单的
id
作为简单的主键?)

amazon-web-services amazon-dynamodb
1个回答
0
投票

正如评论中已经提到的,当哈希键已经唯一时,将时间戳作为排序键没有任何价值。

我还要提到,拥有唯一的哈希键意味着您将仅限于 GetItem 或 Scan(整个表)。除非你创建一些 GSI

也许您永远都知道 ID,因此 GetItem 就是您所需要的。

但是,请考虑您的其他访问模式。选择不同的哈希键并将 ID 作为排序键(的一部分?)可能会为您提供最好的服务。

既然您提到了时间戳,我将向您指出在 DynamoDB 中处理时间序列数据的最佳实践;它实际上使用具有不同配置的 WCU/RCU 的多个表。对于大多数人来说可能有点过时了,而且考虑到按需 Dynamo DB 的可用性,可能已经过时了。

© www.soinside.com 2019 - 2024. All rights reserved.