Jeśli szukasz DBMS o bardzo wysokiej wydajności i nie potrzebujesz, aby był relacyjny, możesz rozważyć Cassandrę - chociaż jej zalety są widoczne tylko wtedy, gdy masz klaster bazy danych zamiast pojedynczego węzła.
Nie powiedziałeś, jakie są ograniczenia architektury fizycznej. Wspomniałeś o shardingu, który oznacza klaster. Klastry IIRC MySQL również obsługują sharding.
Byłoby również bardzo przydatne wiedzieć, jaki poziom współbieżności ma obsługiwać system i w jaki sposób dane będą dodawane (podawanie kroplowe lub wsadowe).
Mówisz:„Oczywiście nie mogę wstępnie obliczyć żadnego z wyników agregacji, ponieważ kombinacje filtrów (a tym samym zestawy wyników) są ogromne”.
To jest twój największy problem i będzie najważniejszym czynnikiem określającym wydajność twojego systemu. Jasne, nie możesz utrzymać zmaterializowanych widoków każdej możliwej kombinacji, ale największą wygraną w wydajności będzie utrzymanie ograniczonej liczby widoków wstępnie zebranych i zbudowanie optymalizatora, który znajdzie najbliższe dopasowanie. To nie takie trudne.
C.