Zie volgende links
- CouchDB versus MongoDB
- MongoDB of CouchDB - geschikt voor productie?
- DB-Engines - Vergelijking CouchDB vs. MongoDB
Bijwerken :Ik vond een geweldige vergelijking van NoSQL databases.
MongoDB (3.2)
- Geschreven in:C++
- Belangrijkste punt:JSON-documentopslag
- Licentie:AGPL (stuurprogramma's:Apache)
- Protocol:Aangepast, binair (BSON)
- Master/slave-replicatie (automatische failover met replicasets)
- Sharding ingebouwd
- Query's zijn javascript-expressies
- Voer willekeurige javascript-functies server-side uit
- Heeft geospatiale indexering en zoekopdrachten
- Meerdere opslagengines met verschillende prestatiekenmerken
- Prestaties boven functies
- Documentvalidatie
- Journalen
- Krachtig aggregatieraamwerk
- Op 32-bits systemen, beperkt tot ~2,5 GB
- Geïntegreerd zoeken naar tekst
- GridFS om big data + metadata op te slaan (niet echt een FS)
- Datcenter bewust
Best gebruikt :Als u dynamische queries nodig heeft. Als u liever indexen definieert, geen functies toewijzen/verkleinen. Als je goede prestaties nodig hebt op een grote DB. Als je CouchDB wilde, maar je gegevens veranderen te veel, waardoor schijven vol raken.
Bijvoorbeeld :Voor de meeste dingen die je zou doen met MySQL of PostgreSQL, maar het hebben van vooraf gedefinieerde kolommen houdt je echt tegen.
CouchDB (1.2)
- Geschreven in:Erlang
- Belangrijkste punt:DB-consistentie, gebruiksgemak
- Licentie:Apache
- Protocol:HTTP/REST
- Bidirectionele (!) replicatie,
- continu of ad-hoc,
- met conflictdetectie,
- dus master-master replicatie. (!)
- MVCC - schrijfbewerkingen blokkeren geen leesbewerkingen
- Vorige versies van documenten zijn beschikbaar
- Crash-only (betrouwbaar) ontwerp
- Heeft af en toe verdichting nodig
- Beelden:ingesloten kaart/verkleinen
- Weergaven opmaken:lijsten en shows
- Server-side documentvalidatie mogelijk
- Authenticatie mogelijk
- Realtime updates via '_changes' (!)
- Behandeling van bijlagen
Best gebruikt :Voor het verzamelen van, af en toe wijzigende gegevens, waarop vooraf gedefinieerde query's moeten worden uitgevoerd. Plaatsen waar versiebeheer belangrijk is.
Bijvoorbeeld :CRM, CMS-systemen. Master-master-replicatie is een bijzonder interessante functie, die eenvoudige implementaties op meerdere locaties mogelijk maakt.