Se följande länkar
- CouchDB vs MongoDB
- MongoDB eller CouchDB – lämplig för produktion?
- DB-Engines - Comparison CouchDB vs. MongoDB
Uppdatera :Jag hittade bra jämförelse av NoSQL databaser.
MongoDB (3.2)
- Skrivet i:C++
- Huvudpunkt:JSON-dokumentarkiv
- Licens:AGPL (drivrutiner:Apache)
- Protokoll:Anpassat, binärt (BSON)
- Master/slav-replikering (automatisk failover med replikuppsättningar)
- Sharding inbyggd
- Frågor är javascript-uttryck
- Kör godtyckliga javascript-funktioner på serversidan
- Har geospatial indexering och frågor
- Flera lagringsmotorer med olika prestandaegenskaper
- Prestanda framför funktioner
- Dokumentvalidering
- Journering
- Kraftfullt ramverk för aggregering
- På 32-bitars system, begränsat till ~2,5 Gb
- Textsökning integrerad
- GridFS för att lagra big data + metadata (faktiskt inte en FS)
- Medveten om datacenter
Används bäst :Om du behöver dynamiska frågor. Om du föredrar att definiera index, inte kartlägga/reducera funktioner. Om du behöver bra prestanda på en stor DB. Om du ville ha CouchDB, men dina data ändras för mycket, fyller diskar.
Till exempel :För det mesta som du skulle göra med MySQL eller PostgreSQL, men att ha fördefinierade kolumner håller dig verkligen tillbaka.
CouchDB (1.2)
- Skrivet på:Erlang
- Huvudpunkt:DB-konsistens, användarvänlighet
- Licens:Apache
- Protokoll:HTTP/REST
- Dubbelriktad (!) replikering,
- kontinuerlig eller ad hoc,
- med konfliktdetektering,
- alltså master-master replikering. (!)
- MVCC - skrivoperationer blockerar inte läsningar
- Tidigare versioner av dokument finns tillgängliga
- Endast kraschdesign (pålitlig)
- Behöver komprimeras då och då
- Visningar:inbäddad karta/förminska
- Formatera vyer:listor och program
- Verifiering av dokument på serversidan möjlig
- Autentisering möjlig
- Realtidsuppdateringar via '_changes' (!)
- Hantera bilagor
Används bäst :För att ackumulera, ibland ändrande data, på vilka fördefinierade frågor ska köras. Platser där versionshantering är viktig.
Till exempel :CRM, CMS-system. Master-master-replikering är en särskilt intressant funktion som möjliggör enkel distribution på flera platser.