dynamodb 如何实现聚合?Mongodb 和 couchbase 有 map reduce 支持。
假设我们正在构建一个技术博客,用户可以在其中发布文章。并说可以标记文章。
user
{
id : 1235,
name : "John",
...
}
article
{
id : 789,
title: "dynamodb use cases",
author : 12345 //userid
tags : ["dynamodb","aws","nosql","document database"]
}
在用户界面中,我们要显示当前用户标签和相应的计数。
如何实现以下聚合?
{
userid : 12,
tag_stats:{
"dynamodb" : 3,
"nosql" : 8
}
}
我们将通过一个 rest api 提供这些数据,它会被频繁调用。就像此信息显示在应用程序主页中一样。
- 我可以考虑提取所有文档并在应用程序级别进行聚合。但我觉得我的阅读能力单位会用尽
- 可以使用 EMR、redshift、bigquery、aws lambda 等工具。但我认为这些是出于数据仓库的目的。
我想知道实现相同目标的其他更好的方法。考虑到成本和响应时间,人们如何选择 dynamodb 作为主要数据存储来实现像这样的动态简单查询。