MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Unterschied zwischen dokumentbasierten und Schlüssel/Wert-basierten Datenbanken?

Die Hauptunterschiede sind das Datenmodell und die Abfragemöglichkeiten.

Schlüsselwertspeicher

Der erste Typ ist sehr einfach und bedarf wahrscheinlich keiner weiteren Erklärung.

Datenmodell:mehr als Schlüsselwertspeicher

Obwohl es einige Diskussionen über den korrekten Namen für Datenbanken wie Cassandra gibt, möchte ich sie Spaltenfamilienspeicher nennen . Obwohl Schlüssel-Wert-Paare ein wesentlicher Bestandteil von Cassandra sind, ist es nicht nur darauf beschränkt. Es ermöglicht Ihnen, Schlüssel-Wert-Paare zu verschachteln, sodass ein Schlüssel auf mehrere untergeordnete Schlüssel-Wert-Paare verweisen kann.

Sie können Schlüssel-Wert-Paare jedoch nicht unbegrenzt verschachteln. Sie sind auf drei Verschachtelungsebenen (Stützenfamilien) oder vier Verschachtelungsebenen (Überspaltenfamilien) beschränkt. Falls Ihnen der Begriff Spaltenfamilie nicht bekannt vorkommt, lesen Sie den Artikel WTF is a SuperColumn, er ist eine gute Erklärung für das Datenmodell von Cassandra.

Dokumentendatenbanken , wie CouchDB und MongoDB, speichern ganze Dokumente in Form von JSON-Objekten. Sie können sich diese Objekte als verschachtelte Schlüssel-Wert-Paare vorstellen. Im Gegensatz zu Cassandra können Sie Schlüssel-Wert-Paare beliebig verschachteln. JSON unterstützt auch Arrays und versteht verschiedene Datentypen wie Strings, Zahlen und boolesche Werte.

Abfrage

Ich glaube, dass Column-Family-Stores nur per Schlüssel oder durch Schreiben von Map-Reduce-Funktionen abgefragt werden können. Sie können die Werte nicht wie in einer SQL-Datenbank abfragen. Wenn Ihre Anwendung komplexere Abfragen erfordert, muss Ihre Anwendung Indizes erstellen und verwalten, um auf die gewünschten Daten zugreifen zu können.

Dokumentdatenbanken unterstützen auch Abfragen nach Schlüssel- und Kartenreduktionsfunktionen, ermöglichen Ihnen aber auch grundlegende Abfragen nach Wert, wie z. B. „Gib mir alle Benutzer mit mehr als 10 Beiträgen“. Dokumentendatenbanken sind auf diese Weise flexibler.