La soluzione migliore dal mio punto di vista e' farsi un bel schema ER, studiare i volumi di traffico delle transazioni e vedere la soluzione ottimale, per quanto riguarda l'implementazione devi cercare un DBMS ottimale, non credo che mysql riesca a supportare performantemente il volume di traffico che devi gestire tu, cmq non ho mai provato a smanettare con grossi DB su mysql quindi mi potrei sbagliare.

Posso dirti che ORACLE e' un ottimo DB (parlo per sentito dire) ma non so in che maniera venga gestito e se trovi qualche hosting...