Как достигается агрегация с помощью dynamodb? Mongodb и couchbase имеют поддержку уменьшения карты.
Допустим, мы строим технический блог, где пользователи могут публиковать статьи. И сказать, статьи могут быть помечены.
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. Но я думаю, что это для целей datawarehousing.
Я хотел бы узнать другие и лучшие способы достижения того же. Как люди достигают динамических простых запросов, таких как выбрали dynamodb в качестве основного хранилища данных, учитывая затраты и время отклика.