Come afferma la domanda, sono uno sviluppatore, non un DBA. Ho esperienza nella progettazione di buoni schemi ER e sono abbastanza informato sulla normalizzazione e sulla buona progettazione dello schema. Ho anche lavorato con data warehouse che utilizzano la modellazione dimensionale con tabelle fact e tabelle dim.
Tuttavia, tutte le applicazioni basate su database che ho sviluppato in precedenti lavori sono state applicazioni interne sulla intranet aziendale, senza mai ricevere "traffico del mondo reale". Inoltre, nei lavori precedenti, ho sempre avuto un DBA o qualcuno che sapeva molto più di me su queste cose.
In questo nuovo lavoro che ho appena iniziato, mi è stato chiesto di sviluppare un'applicazione pubblica con un backend MySQL e si prevede che i dati memorizzati da questa applicazione crescano molto rapidamente. Oh, e non abbiamo un DBA. Bene, immagino di essere il DBA. ;)
Per quanto riguarda la progettazione di un database scalabile, non so nemmeno da dove iniziare. Qualcuno ha qualche buon consiglio o conosce qualche buon materiale didattico per uno sviluppatore che è stato inserito in un ruolo di DBA / database designer ed è stato incaricato di progettare un database scalabile per supportare un'applicazione come questa? Qualche altro sviluppatore è stato in questo modo? Che cosa hai fatto per diventare subito bravo in questo ruolo?
Ho trovato alcune buone diapositive sull'argomento qui ma è difficile raccogliere i dettagli dalle diapositive . Vorrei poter aver assistito al discorso di quel ragazzo.
Ho trovato anche un buon post di blog chiamato 5 modi per potenziare Scalabilità di MySQL che aveva alcune buone informazioni, anche se alcune erano sopra la mia testa.
tl; dr
Voglio solo assicurarmi che il database non debba essere completamente ridisegnato quando si ridimensiona e sto cercando dei suggerimenti per farlo bene la prima volta. La risposta che sto cercando è un "elenco di cose che ogni sviluppatore dovrebbe sapere di creare un database MySQL scalabile in modo che l'applicazione non funzioni come una schifezza quando i dati diventano enormi".