Vedi i seguenti link
- CouchDB Vs MongoDB
- MongoDB o CouchDB - adatto per la produzione?
- Motori DB:confronto tra CouchDB e MongoDB
Aggiorna :Ho trovato un ottimo confronto di NoSQL banche dati.
MongoDB (3.2)
- Scritto in:C++
- Punto principale:archivio di documenti JSON
- Licenza:AGPL (Driver:Apache)
- Protocollo:personalizzato, binario (BSON)
- Replica master/slave (failover automatico con set di repliche)
- Sharding integrato
- Le query sono espressioni javascript
- Esegui funzioni javascript arbitrarie lato server
- Ha l'indicizzazione e le query geospaziali
- Più motori di archiviazione con diverse caratteristiche prestazionali
- Prestazioni rispetto alle funzioni
- Convalida dei documenti
- Diario
- Potente quadro di aggregazione
- Su sistemi a 32 bit, limitato a ~2,5 Gb
- Ricerca di testo integrata
- GridFS per archiviare big data + metadati (non effettivamente un FS)
- Consapevole del data center
Utilizzato al meglio :Se hai bisogno di query dinamiche. Se preferisci definire indici, non mappare/ridurre le funzioni. Se hai bisogno di buone prestazioni su un grande DB. Se volevi CouchDB, ma i tuoi dati cambiano troppo, riempiendo i dischi.
Ad esempio :Per la maggior parte delle cose che faresti con MySQL o PostgreSQL, ma avere colonne predefinite ti blocca davvero.
CouchDB (1.2)
- Scritto in:Erlang
- Punto principale:consistenza del DB, facilità d'uso
- Licenza:Apache
- Protocollo:HTTP/REST
- Replica bidirezionale (!),
- continua o ad hoc,
- con rilevamento dei conflitti,
- quindi, replica master-master. (!)
- MVCC - le operazioni di scrittura non bloccano le letture
- Sono disponibili versioni precedenti dei documenti
- Design solo crash (affidabile)
- Ha bisogno di compattazione di tanto in tanto
- Viste:mappa incorporata/riduci
- Formattazione delle viste:elenchi e programmi
- Possibile convalida del documento lato server
- Possibile autenticazione
- Aggiornamenti in tempo reale tramite '_changes' (!)
- Gestione degli allegati
Utilizzato al meglio :Per accumulare, modificare occasionalmente dati, su cui eseguire query predefinite. Luoghi in cui il controllo delle versioni è importante.
Ad esempio :Sistemi CRM, CMS. La replica master-master è una funzionalità particolarmente interessante, che consente facili implementazioni multisito.