Możesz spróbować skorzystać z bazy danych opartej na kolumnach. Tego rodzaju bazy danych są znacznie lepsze w zapytaniach analitycznych, które opisujesz. Istnieje kilka opcji:
http://en.wikipedia.org/wiki/Column-orientated_DBMS
Mamy dobre doświadczenia z InfiniDB:
a Infobright również wygląda dobrze:
Zarówno InfiniDB, jak i Infobright mają bezpłatne edycje społecznościowe typu open source, więc polecam ich użycie, aby uzyskać kilka testów porównawczych dotyczących korzyści, jakie możesz uzyskać.
Możesz również przyjrzeć się partycjonowaniu danych, aby poprawić wydajność.