Non dovresti utilizzare i tradizionali motori di database se hai bisogno di funzionalità realmente scalabili.
I database SQL tradizionali scalano abbastanza bene (troverete numerosi esempi di siti di grandi dimensioni usando MySQL, SQL Server o Orcale) ma a un certo punto raggiungerà il limite di scalabilità. Esattamente quando ciò accade dipenderà dal livello della domanda, dalla complessità dei requisiti dell'applicazione, dalla quantità che si è disposti a spendere in server costosi e dalla capacità di ottimizzare l'utilizzo del database. Molti siti non raggiungeranno mai questo limite, ma se lo fai allora è piuttosto doloroso e ti troverai di fronte a una grossa sfida ingegneristica per risolvere il problema.
Oltre questo punto, hai davvero bisogno di un database NoSQL completamente distribuito - ad es. qualcosa come Cassandra , che in effetti è stato sviluppato su Facebook per risolvere alcune delle loro sfide relative ai big data. I database NoSQL sacrificano esplicitamente alcune delle tradizionali funzionalità del database SQL (di solito intorno a transazioni, blocco e coerenza finale) per consentire una scalabilità orizzontale effettivamente illimitata.
In generale, il mio consiglio sarebbe di capire se hai davvero bisogno di una scalabilità massiccia e di scegliere il tuo percorso tecnologico di conseguenza.