Задача - обрабатывать сырые данные статистики.
Запросы простые аггрегации - Select SUM/AVG from group by (AGE,SEX,DAY,SOURCE). (обычно в group by параметров 10-20 для промежуточных данных). Агрегированные данные кладутся в отдельную таблицу и уже по ней делается поиск с WHERE в котором теже самые 10-20 параметров.
Сейчас всем этим делом занимается mongodb(aggregation framework), не нравится производительность. (Индексы все стоят, в память влезают, оптимизировать mongo уже явно дальше не куда)
Может есть БД более заточенная под такие задачи?
Как вариант, можно использовать Impala, Hive on Tez с Hadoop кластером. Масштабируемость будет 100%, та же CDH или HDP достаточно легко разворачивается.
Если у Вас много денег и CPU не проблема, можно использоваться Spark SQL поверх того же Hive.