Amazon web services Amazon DynamoDB获取过去24小时的所有项目
我想得到过去24小时的所有物品。我已经做了一些谷歌搜索,似乎用DynamoDB做起来并不容易 我在想,是否有可能创建一个带有公共哈希键和时间戳字段作为排序键的二级索引。因此,我可以使用条件timestamp>(DateTime.Now-24h)查询时间戳。如果这是一种可能的方式或有其他想法,有人能对此发表评论吗 实际上,我只需要表中不超过24小时的项目。因此,另一个想法是每小时清理一次表,并删除所有超过24小时的项目。这可能吗Amazon web services Amazon DynamoDB获取过去24小时的所有项目,amazon-web-services,amazon-dynamodb,nosql,Amazon Web Services,Amazon Dynamodb,Nosql,我想得到过去24小时的所有物品。我已经做了一些谷歌搜索,似乎用DynamoDB做起来并不容易 我在想,是否有可能创建一个带有公共哈希键和时间戳字段作为排序键的二级索引。因此,我可以使用条件timestamp>(DateTime.Now-24h)查询时间戳。如果这是一种可能的方式或有其他想法,有人能对此发表评论吗 实际上,我只需要表中不超过24小时的项目。因此,另一个想法是每小时清理一次表,并删除所有超过24小时的项目。这可能吗 编辑:另一个想法是创建一个二级索引,日期作为散列键,时间作为排序键
编辑:另一个想法是创建一个二级索引,日期作为散列键,时间作为排序键,然后执行两个查询。第一个表示日期为“今天”,第二个表示日期为“昨天”,条件为准时。但是如何将日期和时间存储为字符串或整数?这比我上面的想法好吗?你关于索引的想法大体上是正确的。同样正确的是,使用Dynamo无法对扫描检索到的项目进行排序(在没有索引的情况下,为了获得所需的项目,需要进行扫描) 以下是选项:
你的第一个建议听起来不错。您认为执行24个“小”查询比执行2个“大”查询更有效吗?考虑到性能,我应该将这些值存储为日期格式为yyyyMMdd和时间格式为HH:ss的字符串,还是存储为数值?第二个选项听起来很有趣,但现在太复杂了。24如果您有足够的配置容量来并行运行查询,那么查询可能会更快,但如果没有配置容量,则不会有太大区别。您在两次查询中失去了我。为什么是2?如果按日期划分,那么根据定义,“最后24小时”将跨越两个日期:当前日期和当前日期-1,因此您需要查询两个分区(只有一个例外,当您在午夜进行查询时,最后24小时的整个时间都将符合当前日期划分)