Zobacz następujące linki
- CouchDB a MongoDB
- MongoDB czy CouchDB – nadaje się do produkcji?
- silniki DB — porównanie CouchDB i MongoDB
Aktualizacja :Znalazłem świetne porównanie NoSQL bazy danych.
MongoDB (3.2)
- Napisane w:C++
- Główny punkt:magazyn dokumentów JSON
- Licencja:AGPL (Sterowniki:Apache)
- Protokół:niestandardowy, binarny (BSON)
- Replikacja master/slave (automatyczne przełączanie awaryjne z zestawami replik)
- Wbudowane sharding
- Zapytania są wyrażeniami javascript
- Uruchom dowolne funkcje javascript po stronie serwera
- Ma indeksowanie i zapytania geoprzestrzenne
- Wiele silników pamięci masowej o różnych charakterystykach wydajności
- Wydajność nad funkcjami
- Weryfikacja dokumentów
- Dziennik
- Potężna struktura agregacji
- W systemach 32-bitowych, ograniczona do ~2,5 Gb
- Zintegrowane wyszukiwanie tekstu
- GridFS do przechowywania dużych zbiorów danych + metadanych (a właściwie nie FS)
- Świadomość centrum danych
Najlepiej używany :Jeśli potrzebujesz dynamicznych zapytań. Jeśli wolisz definiować indeksy, a nie funkcje mapowania/redukowania. Jeśli potrzebujesz dobrej wydajności na dużej bazie danych. Jeśli chciałeś CouchDB, ale twoje dane zmieniają się za bardzo, zapełniając dyski.
Na przykład :W przypadku większości rzeczy, które zrobiłbyś z MySQL lub PostgreSQL, ale posiadanie predefiniowanych kolumn naprawdę Cię powstrzymuje.
CouchDB (1.2)
- Napisane w:Erlang
- Główny punkt:spójność bazy danych, łatwość użycia
- Licencja:Apache
- Protokół:HTTP/REST
- Dwukierunkowa (!) replikacja,
- ciągły lub doraźny,
- z wykrywaniem konfliktów,
- więc replikacja master-master. (!)
- MVCC - operacje zapisu nie blokują odczytów
- Poprzednie wersje dokumentów są dostępne
- Projekt tylko w przypadku awarii (niezawodny)
- Wymaga zagęszczania od czasu do czasu
- Widoki:osadzona mapa/zmniejszenie
- Widoki formatowania:listy i programy
- Możliwa walidacja dokumentów po stronie serwera
- Możliwe uwierzytelnienie
- Aktualizacje w czasie rzeczywistym przez „_changes” (!)
- Obsługa załączników
Najlepiej używany :Do gromadzenia, okazjonalnie zmieniających się danych, na których mają być uruchamiane predefiniowane zapytania. Miejsca, w których wersjonowanie jest ważne.
Na przykład :systemy CRM, CMS. Replikacja master-master jest szczególnie interesującą funkcją, umożliwiającą łatwe wdrożenia w wielu lokalizacjach.