Siehe folgende Links
- CouchDB vs. MongoDB
- MongoDB oder CouchDB – fit für die Produktion?
- DB-Engines - Vergleich CouchDB vs. MongoDB
Aktualisieren :Ich fand einen großartigen Vergleich von NoSQL Datenbanken.
MongoDB (3.2)
- Geschrieben in:C++
- Hauptpunkt:JSON-Dokumentenspeicher
- Lizenz:AGPL (Treiber:Apache)
- Protokoll:Benutzerdefiniert, binär (BSON)
- Master/Slave-Replikation (automatisches Failover mit Replikatsätzen)
- Sharding integriert
- Abfragen sind Javascript-Ausdrücke
- Beliebige Javascript-Funktionen serverseitig ausführen
- Verfügt über Geoindexierung und Abfragen
- Mehrere Speicher-Engines mit unterschiedlichen Leistungsmerkmalen
- Leistung über Funktionen
- Dokumentvalidierung
- Journaling
- Leistungsstarkes Aggregations-Framework
- Auf 32-Bit-Systemen begrenzt auf ~2,5 Gb
- Textsuche integriert
- GridFS zum Speichern von Big Data + Metadaten (eigentlich kein FS)
- Rechenzentrumsfähig
Am besten verwendet :Wenn Sie dynamische Abfragen benötigen. Wenn Sie es vorziehen, Indizes zu definieren, keine Funktionen zuordnen/reduzieren. Wenn Sie eine gute Leistung auf einer großen DB benötigen. Wenn Sie CouchDB wollten, aber Ihre Daten sich zu sehr ändern und Festplatten füllen.
Zum Beispiel :Für die meisten Dinge, die Sie mit MySQL oder PostgreSQL machen würden, aber vordefinierte Spalten zu haben, hält Sie wirklich zurück.
CouchDB (1.2)
- Geschrieben in:Erlang
- Hauptpunkt:DB-Konsistenz, Benutzerfreundlichkeit
- Lizenz:Apache
- Protokoll:HTTP/REST
- Bidirektionale (!) Replikation,
- kontinuierlich oder ad-hoc,
- mit Konflikterkennung,
- also Master-Master-Replikation. (!)
- MVCC - Schreiboperationen blockieren keine Lesevorgänge
- Frühere Versionen von Dokumenten sind verfügbar
- Nur-Crash-Design (zuverlässig)
- Muss von Zeit zu Zeit verdichtet werden
- Ansichten:eingebettete Karte/reduzieren
- Ansichten formatieren:Listen &Shows
- Serverseitige Dokumentenvalidierung möglich
- Authentifizierung möglich
- Echtzeit-Updates über '_changes' (!)
- Bearbeitung von Anhängen
Am besten verwendet :Für anfallende, sich gelegentlich ändernde Daten, auf denen 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.