Какое хранилище данных является предпочтительным для быстрой агрегации данных? У меня есть данные, которые я регулярно извлекаю из других систем, и хранилище данных должно поддерживать такие запросы, как:
- Каково количество транзакций, совершенных пользователем за определенный период времени.
- Какова общая сумма успешных транзакций, совершенных пользователем за определенный период времени.
- Запросы должны поддерживать конструкции SQL, такие как группировка, подсчет, суммирование и т. д. для большого набора данных.
Прямо сейчас я использую пользовательскую модель данных в Redis, и данные извлекаются в память, а затем по ним выполняются агрегаты. Проблема с этой моделью заключается в том, что она тесно связана с моими опорными точками (столбцами), и любая дополнительная опорная точка, если она будет добавлена, приведет к взрыву моих данных, что приведет к огромному потреблению памяти в моих блоках Redis.
Я изучил elasticsearch, но запросы elasticsearch с агрегированием занимают больше 200 мс для тех данных, которые у меня есть.
Есть ли другие альтернативы, тоже сейчас присматриваюсь к Aerospike. Может ли кто-нибудь пролить свет на то, как агрегаты аэрошпилей работают в этом сценарии?