我有一个用例,其中我的数据存储在DynamoDB中,其中hashkey为UniqueID,范围键为Date。亚马逊(S3)的简单存储服务中也存在相同的数据。我想根据时间范围搜索所有数据。我希望这个足够快。我可以想到以下可能的方法: - 废弃完整的S3并根据时间对它们进行排序(它不能满足我的延迟要求) - 使用DynamoDB扫描过滤器无助于扫描整个表格。考虑数据量很大。
要求:快速(可在不到1分钟内得到结果), 不要访问大量数据, 不能使用任何其他数据库源
答案 0 :(得分:2)
我认为 AWS Elasticsearch 可能是您问题的答案。 DynamoDB现在与Elasticsearch集成,使您可以对数据执行全文查询。
Elasticsearch是一种流行的开源搜索和分析引擎,旨在简化实时搜索和大数据分析。
使用新的 Amazon DynamoDB Logstash插件可轻松实现Elasticsearch集成。
答案 1 :(得分:0)
您应该使用Query
代替Scan
,请参阅http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html。