Ich bin ein absoluter Noob, 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. Welchen empfehlen Sie als ersten Schritt in die NoSQL-Welt zu lernen?
Siehe folgende Links
Update : Ich fand großartig Vergleich von NoSQL Datenbanken.
MongoDB (3.2)
Am besten verwendet : Wenn Sie dynamische Abfragen benötigen. Wenn Sie lieber Indizes definieren, werden Funktionen nicht zugeordnet/reduziert. Wenn Sie eine gute Leistung auf einer großen DB benötigen. Wenn Sie CouchDB wollen, aber Ihre Daten sich zu sehr ä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 verwendet : Zum Sammeln und gelegentlichen Ändern von 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, "fühlt" sich MongoDB aufgrund seiner abfrageähnlichen Sprachunterstützung viel natürlicher an.
Ich denke, das ist es, was es für viele Menschen so freundlich macht.
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 eine Master-Slave-Slave- * -Einrichtung. Sie können nur in einem Replikatsatz auf den Master schreiben und von jedem 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 einen CDN zu erstellen, bei dem alle globalen Knoten synchronisiert bleiben müssen, auch wenn Lese-/Schreibzugriff auf alle Knoten besteht, ist die Replikation in CouchDB für Sie ein großer Segen.
Während MongoDB eine abfrageähnliche Sprache hat, die Sie verwenden können und die sich sehr intuitiv anfühlt, verwendet 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 JSON-Dokumente, aber CouchDB folgt diesem Ansatz: "Jeder Server ist ein Master und kann sich mit der Welt synchronisieren". Dies ist fantastisch, wenn Sie es brauchen, während MongoDB wirklich das MySQL der NoSQL-Welt ist.
Also, wenn das eher nach dem klingt, was Sie brauchen/wollen, dann probieren Sie es aus.
Kleine Unterschiede wie Mongos Binärprotokoll gegenüber der RESTful-Schnittstelle von CouchDB sind nur geringfügige Details.
Wenn Sie rohe Geschwindigkeit und zur Hölle mit Datensicherheit wollen, können Sie Mongo schneller als CouchDB laufen lassen , da Sie sagen können, dass es nicht genügend Arbeitsspeicher hat und nicht Festlegen von Dingen auf der Festplatte mit Ausnahme von 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 unbrauchbare, verrückte Geschwindigkeit unbrauchbar ist, wenn ein Serverabsturz oder ein Festplattenausfall Ihre Datenbank in Vergessenheit gerät, sodass der Datenpunkt nicht so erstaunlich ist, wie es scheint (es sei denn, Sie führen Echtzeit-Handelssysteme auf Wall aus Straße, in diesem Fall sehen Sie sich Redis an).
Hoffe, dass alles hilft!
Es gibt jetzt viel mehr NoSQL-Datenbanken auf dem Markt als jemals zuvor. Ich schlage vor, dass Sie sich sogar den Gartner Magic Quadrant ansehen, wenn Sie eine Datenbank suchen, die sich aufgrund von Support, Erweiterbarkeit, Verwaltung und Kosten auch hervorragend für Unternehmensanwendungen eignet.
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 Version basiert, die in dem Bericht (2.5.1) gezeigt wird, da es fast 2 Revisionen hinter CB Server ist, der sich der Veröffentlichung von 4.0 in 2H15 nähert .
http://www.couchbase.com/coming-in-couchbase-server-4-
Der andere Teil über Couchbase als Anbieter/Produkt ist, dass es sich um einen Mehrzwecktyp von DB handelt. Es kann als reiner K/V-Speicher fungieren, dokumentenorientierte Datenbank mit mehrdimensionaler Skalierung, zwischengespeichert, mit Persistenz zwischenspeichern und unterstützt ANSI 92-konformes SQL mit automatischen Verknüpfungen, Replikation zu DR-Clustern per Knopfdruck und Sogar eine mobile Komponente ist in das Ökosystem integriert.
Wenn nicht anders, lohnt es sich, die neuesten Benchmarks zu lesen:
http://info.couchbase.com/Benchmark_MongoDB_VS_CouchbaseServer_HPW_BM.htmlhttp://info.couchbase.com/NoSQL-Technical-Comparison-Report.html
Edureka-Videos in YouTube zu NoSQL sind einige der besten Video-Tutorials. Ich habe auf MongoDb & Cassandra nach dem Anschauen dieser Videos begonnen.
https://www.youtube.com/watch?v=gJFG04Sy6NY
https://www.youtube.com/watch?v=KSq6tMMXZ8s
https://www.youtube.com/watch?v=3z1KFA2qcSo
Gute Präsentationen finden Sie auf slideshare.net
http://www.slideshare.net/quipo/nosql-databases-why-what-and-when?qid=3bb9f7f6-a53d-41b1-8403-cd6f181d0ca7&v=qf1&b=&from_search=1
http://www.slideshare.net/EdurekaIN/no-sql-databases-35591065?qid=f1b9c095-6d70-4d0a-91da-1df664c4f389&v=qf1&b=&from_search=3
Edureka Präsentation in Slideshare ist Erweiterung des Videos in YouTube. Sie können diese Präsentation als Zusammenfassung des YouTube-Videos behandeln.