Domanda

Io vengo da un background di MySQL, e sono interessati a banche dati orientati ai documenti, in particolare CouchDB. Una delle cose che mi interessa è l'integrità dei dati. Come database orientati ai documenti gestire questa situazione? Per esempio, in RDBMS, ci sono modi per prevenire la duplicazione di dischi, o la garanzia che se si dispone di un bit di informazione, si avrà un altro, oppure del tutto assenti.

Credo che più in generale, la mia domanda è, quali tipi di problemi sono RDBMS tagliati fuori per, rispetto a problemi che DODBes sono utilizzati per? Ho guardato su alcune delle altre domande StackOverflow Per una spiegazione, ma non ha trovato alcun quelli buoni.

Inoltre, con le mie basi di dati sul lavoro, faccio un sacco di reporting, con la somma e la media dei valori e trend storici. E 'questo qualcosa di appropriato per i database orientati ai documenti?

È stato utile?

Soluzione

La maggior parte del documento-database hanno supportare solo l'integrità molto limitato o nessun controllo di integrità. Essi si basano sulla domanda per garantire che i dati sono corretti. Posso dirvi come è in CouchDB.

Per la seconda parte. Credo che RDBMS fanno molto bene a dati di reporting e analisi. Il fatto che è possibile eseguire query complesse sui dati con unisce, aggregazioni, le funzioni ecc rendono RDBMS un potente reportistica-strumento. Documento-database fanno davvero bene per memorizzare l'applicazione-dati 'live'. E 'molto facile da memorizzare un recuperare oggetti grafico in documento-database. Il design privo di schema rende facile estende il modello per le nuove funzioni dell'applicazione. Tuttavia questo funziona solo se è possibile dividere i vostri applicativi-dati in documenti piacevoli. In caso contrario, si perde un sacco di eleganza.

Se si vuole fare la maggior parte di reporting, io preferirei un RDBMS. Quando per memorizzare un sacco di piatti, semplici registrazioni è molto facile da fare report su di esso. Gli utensili ecc è perfetto per la segnalazione. Tuttavia quando vogliono fare report sui dati strutturati complessi, è probabilmente ancora meglio con un altro desgine base di dati di un RDBMS.

Tuttavia, questo non significa che è necessario limitarsi a RDBMS. È possibile combinare le due tecnologie. Immaginate un blog-software. Si memorizzano i dati di 'live' di applicazioni come blog-post e commenti nel documentdatabase. I dati per la segnalazione come click-e-login statistiche vengono memorizzati in un RDBMS. Vedi anche Rob Conerys posta .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top