如何对十亿个对象上的dynamodb进行独特计算?

时间:2013-04-09 03:08:03

标签: key-value amazon-dynamodb

在矿山探测器中存储多少个不同对象的最有效方法是什么?

例如我的对象有十个属性,我希望根据3个属性获得一个独特的计数。

2 个答案:

答案 0 :(得分:4)

如果您需要计数器,最好使用AtomicCounters(http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithDDItems.html)。在您的情况下,DynamoDB不支持由3个属性组成的开箱即用密钥,除非您将它们连接起来,因此选项是创建一个冗余表,其中密钥是这3个属性的串联,每个属性管理这些属性对象,也更新AtomicCounter(添加,删除,更新 - 实际上不需要)。

然后你只是查询计数器,避免扫描。因此,获得检索数据的速度是空间复杂性。

答案 1 :(得分:1)

使用适当的ScanFilter执行扫描(在这种情况下,三个属性为not_null),并使用withCount(true)仅返回匹配记录的数量而不是记录本身。

See the documentation了解一些示例代码。