【问题标题】:DynamoDB most efficient date typeDynamoDB 最高效的日期类型
【发布时间】:2014-05-22 14:57:18
【问题描述】:
我看到 DynamoDB 本质上仅限于three data types:字符串、数字和二进制。这似乎留下了两个用于存储日期或时间戳的选项:
-
8601 日期/时间格式或 Unix 时间戳的字符串
-
编号 Unix 时间戳
我需要将此日期/时间戳用作范围键并使用 scanIndexForward 对结果进行“排序”。是否可以说哪种方法更有效?
【问题讨论】:
标签:
date
amazon-web-services
amazon-dynamodb
【解决方案1】:
我不知道它一定更有效,但我们使用 Unix 时间戳作为范围键已经取得了很好的成功。它的查询速度很快(低于 20 毫秒,有时低于 10 毫秒),让我们可以使用 scanIndexForward 标志对“最早到最新”或“最新到最早”进行排序。
缺点是,在查看原始表时,可能很难一目了然地比较两个时间戳,但很容易将时间戳转换为您选择的语言的日期类型。
【解决方案2】:
我刚刚对我的一个 DynamoDB 表执行了 DescribeTable,并注意到 DynamoDB 本身将表的 CreationDateTime 存储为 UNIX 时间戳浮点数。我猜他们这样做是有原因的。