Я создаю цифровой продукт для большого сообщества пользователей (более 2 миллионов), используя Express + GraphQL для сервера API и React + Apollo для веб-приложения. Затем я собираюсь создавать мобильные приложения с использованием React Native по завершении веб-части.
Прямо сейчас я изо всех сил думаю о том, как разработать часть, которая будет собирать всю статистику для пользовательского контента в платформе. Для упрощения, скажем, мне нужно записать:
- уникальных пользовательских просмотров каждой статьи
- общее количество просмотров каждого
статья
- посещений каждого профиля пользователя
У меня есть пара вопросов к тем, кто имел опыт разработки таких систем для сбора данных.
Как записать необработанные данные?
Должен ли я создать своего рода журнал в базе данных и использовать его позже для генерации агрегированных данных в зависимости от моих потребностей?
Нечто подобное (пример просмотра статьи):
{
'user_id' : String,
'article_id' : String,
'date' : Date,
}
или я должен использовать другой подход? А какую базу данных вы рекомендуете использовать? Сейчас я думаю об использовании MongoDb, так как я уже использую его для остальной части приложения.