Я смотрю на создание архитектуры для следующего и хотел посмотреть, что другие думают об этом.Архитектура обработки данных реального времени
Предположим, что система запускает некоторый нетривиальный алгоритм (так что это не просто сумма чего-то и т. Д.) Для данных, собранных для каждого пользователя. У некоторых пользователей будет 10 строк данных, у некоторых будет десятки тысяч. Данные будут представлять собой географические позиции пользователя с течением времени. Было бы более 10-100 миллионов пользователей, и данные о многих пользователях приходили каждый день, потенциально каждую минуту для некоторых.
Периодически (1/5/15 минут, в основном, как можно скорее), я бы хотел запустить этот нетривиальный алгоритм для каждого пользователя, который выдавал бы пару цифр, которые затем будут сообщены вне.
Один из способов моделирования, который должен храниться в базе данных NoSQL и обрабатывать данные каждого пользователя в кластере Akka. Любая рекомендация для БД?
Данные пользователя здесь, в основном, являются журналом добавления, который когда-то был добавлен, данные не будут меняться - но он постоянно растет, а некоторые пользователи имеют непропорционально большее количество данных, чем другие. Чтобы обрабатывать данные для каждого пользователя, все это должно быть загружено в память где-то, поэтому наилучшим возможным сценарием является то, что все данные хранятся в памяти и повторно обрабатываются с интервалом в одну минуту - недостатком является то, что мне нужны терабайты RAM, и если серверы с памятью опускаются, все данные должны быть перезагружены, и это займет некоторое время.
Спасибо, обязательно посмотрим в хронику! – kozyr