2012-05-18 15 views
5

Sto fissando un sistema per lavorare con lingue native, tag e tali dati in Yii Framework.Yii Utilizzo di mongo DB e MySQL allo stesso tempo

Ho già scelto MongoDB per archiviare i miei dati in quanto ritengo che funzioni bene e otterrà prestazioni migliori con meno costi (il database avrà enormi quantità di dati).

La mia domanda riguarda l'autenticazione utente, i pagamenti, ecc. Si tratta di informazioni sensibili e aree in cui ritengo che i dati siano relazionali.

Quindi: 1. Utilizzeresti due sistemi db diversi? Dovrei averne bisogno o lo sto complicando? 2. Se raccomandi il due approccio db come potrei ottenerlo in Yii?

Grazie per il vostro tempo!

PS: Non intendo che questa domanda sia un'altra discussione senza fine tra la gente relazionale e non relazionale. Detto questo, penso che i miei dati siano mongo ma se hai qualcosa da dire su questo vai avanti;)

risposta

8

Potresti essere interessato a this presentation sull'infrastruttura di OpenSky, dove MongoDB viene utilizzato insieme a MySQL. Mongo è stato utilizzato principalmente per dati di tipo CMS in cui uno schema flessibile era utile e si basavano su MySQL per le transazioni (ad esempio ordini dei clienti, pagamenti). Se si finisce con l'uso della libreria Doctrine, si scoprirà che lo condivide un'API simile, che dovrebbe facilitare il processo di sperimentazione.

non avrei rifuggire da utilizzare MongoDB per memorizzare i dati degli utenti, anche se, come questo è spesso un record che può beneficiare di archiviazione documento incorporato (ad esempio la memorizzazione di più indirizzi di fatturazione/spedizione all'interno di un documento singolo utente). Se mai, Mongo dovrebbe essere abbastanza flessibile da permetterti di sviluppare la tua applicazione senza preoccuparti delle modifiche dello schema a causa dell'evoluzione dei requisiti del prodotto. A mano a mano che tali requisiti diventano più chiari, sarai in grado di prendere una decisione in base alle esigenze di prestazioni dell'app e ai tipi di query sul database di cui hai bisogno.

+0

Una grande risposta. Grazie! – jribeiro

0

Non c'è niente di male nell'usare più database (se proprio ne hai bisogno), molti grandi siti web usano più database quindi vai a testa e inizia il tuo progetto.

+0

Miscelare NoSQL e dbs relazionali non è mai una buona cosa. A meno che non ci sia un bisogno reale. Di solito vai tutto su NoSQL o no. Nella mia azienda abbiamo un grande sito web, usiamo MySQL per i dati, ma usiamo mongodb GridFS per archiviare i file. Solo per archiviare file come MongoDB GridFs è perfetto per questo. – Flukey

Problemi correlati