dynamodbとのアグリゲーションはどのように達成されますか? Mongodbとcouchbaseはmap reduceをサポートしています。Dynamodbを使った基本的な集計方法は?
ユーザーが記事を投稿できる技術ブログを構築しているとします。記事にタグを付けることができます。我々は、現在のユーザーのタグと、それぞれのカウントに表示するユーザーインターフェイスで
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
}
}
このデータは残りのAPIを介して提供され、頻繁に呼び出されます。この情報は、アプリのメインページに表示されます。
- 私はすべてのドキュメントを抽出し、アプリケーションレベルで集計すると思います。しかし私は私の読書容量単位が使い果たされると感じます
- EMR、redshift、bigquery、aws lambdaのようなツールを使うことができます。しかし、私はこれらがデータウェアハウスの目的だと思う。
私は他のより良い方法を知りたいと思います。 コストや応答時間を考慮してダイナモをプライマリデータストアとして選択したような動的な単純なクエリを人々はどのように達成していますか?