Business Intelligence (BI) - довольно зрелая дисциплина, и вы найдете ответы на свои вопросы в любой книге по масштабированию баз данных для отчетов и хранилищ данных.
Список тактик высокого уровня будет включать:
- разбиение (потому что индексы мало помогают для большинства отчетов)
- Сводные таблицы (генерируются обычно с помощью пакетного процесса, отправляемого через cron)
- вам нужен хороший оптимизатор (некоторые базы данных, такие как mysql - нет, поэтому принимайте плохие решения о присоединении)
- параллелизм запросов (некоторые базы данных обеспечивают линейное ускорение, просто разбивая ваш запрос на несколько потоков)
- звезда-схема - хорошая модель данных крайне важна для хорошей производительности
В целом динамическая отчетность превосходит статистические отчеты - поэтому, если вам нужны мощные отчеты, я просто попробую скопировать данные в соответствующую модель, использовать агрегаты, возможно, изменить базу данных, чтобы получить хороший оптимизатор и соответствующие функции, а не запускать отчеты в пакетном режиме.