DynamoDB 最高效的日期类型

Posted

技术标签:

【中文标题】DynamoDB 最高效的日期类型【英文标题】:DynamoDB most efficient date type 【发布时间】:2014-05-22 14:57:18 【问题描述】:

我看到 DynamoDB 本质上仅限于three data types:字符串、数字和二进制。这似乎留下了两个用于存储日期或时间戳的选项:

8601 日期/时间格式或 Unix 时间戳的字符串 编号 Unix 时间戳

我需要将此日期/时间戳用作范围键并使用 scanIndexForward 对结果进行“排序”。是否可以说哪种方法更有效?

【问题讨论】:

我知道这是一个老问题,但你有没有找到答案? 【参考方案1】:

我不知道它一定更有效,但我们使用 Unix 时间戳作为范围键已经取得了很好的成功。它的查询速度很快(低于 20 毫秒,有时低于 10 毫秒),让我们可以使用 scanIndexForward 标志对“最早到最新”或“最新到最早”进行排序。

缺点是,在查看原始表时,可能很难一目了然地比较两个时间戳,但很容易将时间戳转换为您选择的语言的日期类型。

【讨论】:

【参考方案2】:

我刚刚对我的一个 DynamoDB 表执行了 DescribeTable,并注意到 DynamoDB 本身将表的 CreationDateTime 存储为 UNIX 时间戳浮点数。我猜他们这样做是有原因的。

【讨论】:

以上是关于DynamoDB 最高效的日期类型的主要内容,如果未能解决你的问题,请参考以下文章

对于大型数据集的查询,日期类型是不是比日期时间更高效?

按日期查询DynamoDB

用于存储日期和时间的最合适的 SQL 和 Java 数据类型 [重复]

DynamoDb 查询存储日期

数据库-----数据类型 ,日期类型,字符类型,枚举与集合 ,约束

哪种数据类型最适合 c++ 中节俭通信中的日期时间?