Was gefällt dir am besten CouchDB?
Vorteile von CouchDB sind:
CouchDB ermöglicht eine einfache Replikation, was zu Datenaustausch zwischen verschiedenen Geräten führt.
CouchDB erlaubt eine flexible Datenstruktur, was bedeutet, dass jeder Datentyp zusammen gespeichert werden kann.
CouchDB verwendet HTTP-API für einfache Kommunikation zwischen Datenbanken.
ReduceMap ermöglicht eine optimierte Kombination von Daten.
Dokumentenorientiertes Datenbankmanagement! Allein dies ist es wert: die Möglichkeit, Ihren Datensatz in einem JSON-Dokument zu beschreiben und dann zu indexieren, ist ENORM.
Sie können dasselbe Dokument in mehreren Datenbankinstanzen speichern, und dank der CouchDB-Engine ist das kein Problem.
SCHNELL: Der Zugriff auf JSON ist programmatisch leicht zu parsen und daher eine gute Wahl.
Es kann mit Webbrowsern über PouchDB replizieren und synchronisieren. Dies ermöglicht es Ihnen, eine synchronisierte Kopie Ihrer Datenbank auf der Client-Seite zu behalten, was einen viel schnelleren Datenzugriff bietet, als es kontinuierliche HTTP-Anfragen erlauben würden, und ermöglicht die Offline-Nutzung.
Einfache Map/Reduce-Unterstützung. Das M/R-System ermöglicht es Ihnen, Terabytes von Dokumenten parallel zu verarbeiten, die Ergebnisse zu speichern und nur Dokumente, die sich bei nachfolgenden Updates geändert haben, neu zu verarbeiten. Obwohl es nicht so leistungsfähig wie Hadoop ist, ist es ein einfach zu verwendendes Abfragesystem, das schwer zu vermasseln ist.
Sharding- und Clustering-Unterstützung. Ab CouchDB 2.0 unterstützt es das Clustering und Sharding von Dokumenten zwischen Instanzen, ohne dass ein Lastenausgleich erforderlich ist, um zu bestimmen, wohin Anfragen gehen sollen.
Master-zu-Master-Replikation ermöglicht es Ihnen, über das Replikationsprotokoll zu klonen, kontinuierlich zu sichern und Änderungen zu überwachen, selbst über unzuverlässige WAN-Verbindungen. Bewertung gesammelt von und auf G2.com gehostet.
Was gefällt Ihnen nicht? CouchDB?
Nachteile von CouchDB sind:
CouchDB benötigt zusätzlichen Speicherplatz für Overhead, was im Vergleich zu anderen Datenbanken ein großer Nachteil ist. Das Erstellen von zufälligen Abfragen, die keine Ansicht haben, ist teuer. Kein integrierter Volltextsuche.
Obwohl es Möglichkeiten gibt: couchdb-lucene, elasticsearch plus einige mehr:
Es unterstützt keine Transaktionen. Das bedeutet, dass die Durchsetzung der Einzigartigkeit eines Feldes über alle Dokumente hinweg nicht sicher ist, zum Beispiel die Durchsetzung, dass ein Benutzername einzigartig ist. Eine weitere Konsequenz der Unfähigkeit von CouchDB, das typische Konzept einer Transaktion zu unterstützen, ist, dass Dinge wie das Inkrementieren/Dekrementieren eines Wertes und das Zurückspeichern ebenfalls gefährlich sind. Es gibt nicht viele Fälle, in denen wir einfach einen Wert inkrementieren/dekrementieren möchten, bei denen wir die einzelnen Dokumente nicht einfach separat speichern und mit einer Ansicht aggregieren könnten.
Relationale Daten. Wenn die Daten in der dritten Normalform viel Sinn machen und wir versuchen, diese Form in CouchDB zu befolgen, werden wir auf viele Probleme stoßen. Eine mögliche Lösung für dieses Problem sind Ansichtskollationen, aber wir könnten ständig mit dem System kämpfen. Wenn die Daten so umformatiert werden können, dass sie viel stärker denormalisiert sind, funktioniert CouchDB gut.
Datenlager. Das Problem hierbei ist, dass temporäre Ansichten in CouchDB bei großen Datensätzen wirklich langsam sind. Die Verwendung von CouchDB und permanenten Ansichten könnte recht gut funktionieren. In den meisten Fällen ist jedoch eine spaltenorientierte Datenbank irgendeiner Art ein viel besseres Werkzeug für die Datenlagerungsaufgabe. Bewertung gesammelt von und auf G2.com gehostet.