Ich bin ein absoluter Neuling, wenn es um die NoSQL-Bewegung geht. Ich habe viel über MongoDB und CouchDB gehört. Ich weiß, dass es Unterschiede zwischen den beiden gibt. Was empfehlen Sie als ersten Schritt in die NoSQL-Welt?
Ich bin ein absoluter Neuling, wenn es um die NoSQL-Bewegung geht. Ich habe viel über MongoDB und CouchDB gehört. Ich weiß, dass es Unterschiede zwischen den beiden gibt. Was empfehlen Sie als ersten Schritt in die NoSQL-Welt?
Antworten:
Siehe folgende Links
Update : Ich habe einen großartigen Vergleich von NoSQL- Datenbanken gefunden.
MongoDB (3.2)
Am besten geeignet : Wenn Sie dynamische Abfragen benötigen. Wenn Sie lieber Indizes definieren möchten, nicht Funktionen zuordnen / reduzieren. Wenn Sie eine gute Leistung in einer großen Datenbank benötigen. Wenn Sie CouchDB wollten, sich Ihre Daten jedoch zu stark ändern, füllen Sie die Festplatten.
Zum Beispiel : Für die meisten Dinge, die Sie mit MySQL oder PostgreSQL tun würden, aber vordefinierte Spalten halten Sie wirklich zurück.
CouchDB (1.2)
Am besten geeignet : Zum Sammeln von gelegentlich wechselnden Daten, für die vordefinierte Abfragen ausgeführt werden sollen. Orte, an denen die Versionierung wichtig ist.
Zum Beispiel : CRM, CMS-Systeme. Die Master-Master-Replikation ist eine besonders interessante Funktion, die eine einfache Bereitstellung an mehreren Standorten ermöglicht.
Wenn Sie aus der MySQL-Welt kommen, wird sich MongoDB aufgrund seiner abfrageähnlichen Sprachunterstützung für Sie viel natürlicher "anfühlen".
Ich denke, das macht es für viele Menschen so freundlich.
CouchDB ist fantastisch, wenn Sie die wirklich großartige Master-Master-Replikationsunterstützung mit einem Multi-Node-Setup nutzen möchten, möglicherweise in verschiedenen Rechenzentren oder ähnlichem.
Die Replikation von MongoDB (Replikatsätze) ist ein Master-Slave-Slave-Slave- * Setup. Sie können nur in einem Replikatsatz auf den Master schreiben und von einem dieser Sätze lesen.
Für eine Standard-Site-Konfiguration ist das in Ordnung. Es ist sehr gut auf die MySQL-Nutzung abgestimmt.
Wenn Sie jedoch versuchen, einen globalen Dienst wie ein CDN zu erstellen, der alle globalen Knoten synchronisieren muss, obwohl sie alle lesen / schreiben, ist die Replikation in CouchDB ein großer Segen für Sie.
Während MongoDB eine abfrageartige Sprache hat, die Sie verwenden können und die sich sehr intuitiv anfühlt, verfolgt CouchDB einen "Kartenreduzierungs" -Ansatz und diese Konzepte von Ansichten. Es fühlt sich anfangs seltsam an, aber wenn man den Dreh raus hat, fühlt es sich wirklich intuitiv an.
Hier ist eine kurze Übersicht, damit es Sinn macht:
Beide Quellen verwenden also JSON-Dokumente, aber CouchDB folgt diesem Ansatz: "Jeder Server ist ein Master und kann mit der Welt synchronisieren". Dieser Ansatz ist fantastisch, wenn Sie ihn benötigen, während MongoDB wirklich das MySQL der NoSQL-Welt ist.
Also, wenn das eher nach dem klingt, was Sie brauchen / wollen, dann machen Sie das.
Kleine Unterschiede wie das Binärprotokoll von Mongo gegenüber der RESTful-Schnittstelle von CouchDB sind nur geringfügige Details.
Wenn Sie rohe Geschwindigkeit und Hölle mit Datensicherheit wollen, können Sie Mongo schneller als CouchDB laufen lassen , da Sie ihm sagen können, dass er nicht über genügend Arbeitsspeicher verfügt und keine Daten auf die Festplatte überträgt, außer in spärlichen Intervallen.
Sie können dasselbe mit Couch tun, aber das HTTP-basierte Kommunikationsprotokoll wird in dieser "Geschwindigkeit über alles" 2-4x langsamer sein als die rohe binäre Kommunikation mit Mongo! Szenario.
Denken Sie daran, dass verrückte verrückte Geschwindigkeit nutzlos ist, wenn ein Serverabsturz oder ein Festplattenfehler Ihre Datenbank beschädigt und in Vergessenheit gerät, sodass der Datenpunkt nicht so erstaunlich ist, wie es scheint (es sei denn, Sie betreiben Echtzeit-Handelssysteme an der Wand) Straße, in diesem Fall schauen Sie sich Redis an).
Hoffe das alles hilft!
Es gibt jetzt viel mehr NoSQL-Datenbanken auf dem Markt als jemals zuvor. Ich empfehle sogar einen Blick auf den Gartner Magic Quadrant, wenn Sie nach einer Datenbank suchen, die sich auch für Unternehmensanwendungen eignet, basierend auf Support, Erweiterbarkeit, Verwaltung und Kosten.
http://www.gartner.com/technology/reprints.do?id=1-23A415Q&ct=141020&st=sb
Ich möchte Couchbase jedem empfehlen, der es noch nicht ausprobiert hat, aber nicht auf der im Bericht (2.5.1) gezeigten Version basiert, da es fast zwei Revisionen hinter dem heutigen CB Server liegt und sich der Veröffentlichung von 4.0 in 2H15 nähert .
http://www.couchbase.com/coming-in-couchbase-server-4-0
Der andere Teil von Couchbase als Anbieter / Produkt ist, dass es sich um einen Mehrzweck-DB-Typ handelt. Es kann als reiner K / V-Speicher, dokumentenorientierte Datenbank mit mehrdimensionaler Skalierung, Memcached, Cache-beiseite mit Persistenz fungieren und unterstützt ANSI 92-kompatibles SQL mit automatischen Verknüpfungen, Replikation auf DR-Cluster per Knopfdruck und Es ist sogar eine mobile Komponente in das Ökosystem integriert.
Wenn nichts anderes, lohnt es sich, die neuesten Benchmarks zu überprüfen:
http://info.couchbase.com/Benchmark_MongoDB_VS_CouchbaseServer_HPW_BM.html http://info.couchbase.com/NoSQL-Technical-Comparison-Report.html