Я не знаю ни одного паттерна для решения описанной вами ситуации. Неограниченное количество строк, полностью специальные запросы, много одновременных пользователей? Это не требование; это "все идет".
Я предполагаю, что это база данных отчетов, а не транзакционная. Данные только для чтения. Это правильно?
Хранилище данных со звездообразной схемой будет предписывать запросы вдоль тщательно продуманных измерений. Пользователи могут свернуть измерения (например, измерение времени позволяет пользователям свернуть до дня, недели, месяца, квартала, года и т. Д.). Но логика для этого выполняется в базе данных и кодируется в хранимых процедурах.
Я бы оспорил утверждение о том, что пользователям нужны миллионы строк на среднем уровне. Ни один пользователь не может принять миллионы строк одновременно. Google возвращает миллионы страниц, возвращаемых одним запросом, двадцать пять раз за раз.
Может быть, вы можете потерять наборы данных, которые используются отдельно, проанализированы с помощью Excel или другого инструмента. Но это лучший сценарий, который я могу представить.