Mysql
 sql >> Database >  >> RDS >> Mysql

MySql vs NoSql - Struttura e implementazione dei dati di commenti e notifiche sui social network

La domanda è estremamente ampia, ma cercherò di rispondere al meglio delle mie capacità.

In genere non mi piace rispondere a domande come questa perché sembra che tu abbia fatto pochissime ricerche prima di arrivare a SO. Sembra anche che tu sia confuso con i ruoli dell'applicazione e del database. Almeno inizierò con un po' di materiale/idee e ti lascerò decidere da solo.

Non esiste un "proiettile d'argento" per un design di back-end, specialmente quando si tratta di database. I database SQL sono generalmente molto bravi nella maggior parte delle funzionalità del database, e giustamente; è una tecnologia che è molto matura e ha resistito alla prova del tempo per un motivo. La maggior parte delle soluzioni NOSQL sono specializzate per scopi particolari. Ad esempio:se stavi registrando molte informazioni, potresti voler guardare Cassandra. Se hai a che fare con molti dati relazionali, vorresti usare qualcosa come Neo4j (o PostgreSQL/MySQL per RMDBS). Se hai a che fare con molti dati in tempo reale, potresti voler dare un'occhiata a Redis.

È stupido chiedere NOSQL vs SQL per alcuni motivi:

NOSQL è un termine negativo in generale. E non significa "Nessun SQL". Significa "Non solo SQL". Sfortunatamente il termine ha incapsulato anche l'opposto più polare dei database.

Solo tu conosci tutte le funzionalità della tua applicazione. Anche se conoscessi le basi di ciò che volevi ottenere, non saprei comunque darti una risposta definitiva. Né può chiunque altro. È altamente soggettivo e, ancora una volta, solo TU sai ESATTAMENTE cosa dovrebbe fare la tua applicazione.

Il motivo principale:è il 2014. Perché un database? Dieci anni fa "DatabaseX vs DatabaseY" sarebbe stata una domanda pratica. Ora puoi configurare molti framework applicativi per utilizzare in modo affidabile più database in pochi minuti. Morale della favola:usa ogni database per il suo scopo specifico. Ulteriori informazioni sulla persistenza poliglotta qui .

Per quanto riguarda Facebook:una ricerca su Google di cinque minuti rivela quali tecnologie di back-end hanno utilizzato in passato e non è così difficile ricercare alcune delle loro attuali soluzioni di back-end. Non sei Facebook. Non è necessario prepararsi per un miliardo di utenti in questo momento. Inizia con tecnologie semplici e collaudate. Ciò ti consentirà di ridimensionare in modo naturale la tua applicazione. Quando queste tecnologie iniziano a diventare un collo di bottiglia, preoccupati della scalabilità.

Spero che questo ti abbia aiutato a iniziare il tuo viaggio di codifica, ma per favore usa Stack Overflow come ultima risorsa se hai problemi con il codice. Non un accesso immediato.