Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>See following links</p> <ul> <li><a href="http://www.slideshare.net/gabriele.lana/couchdb-vs-mongodb-2982288" rel="nofollow noreferrer">CouchDB Vs MongoDB</a></li> <li><a href="http://www.mongodb.org/display/DOCS/MongoDB,+CouchDB,+MySQL+Compare+Grid" rel="nofollow noreferrer">MongoDB, CouchDB, MySQL Compare Grid</a></li> <li><a href="https://stackoverflow.com/questions/895762/mongodb-or-couchdb-fit-for-production">MongoDB or CouchDB - fit for production?</a></li> </ul> <p><strong>Update</strong>: I found great <a href="http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis" rel="nofollow noreferrer">comparison of NoSQL</a> databases.</p> <p><strong>MongoDB (3.2)</strong></p> <ul> <li>Written in: C++</li> <li>Main point: JSON document store</li> <li>License: AGPL (Drivers: Apache)</li> <li>Protocol: Custom, binary (BSON)</li> <li>Master/slave replication (auto failover with replica sets)</li> <li>Sharding built-in</li> <li>Queries are javascript expressions</li> <li>Run arbitrary javascript functions server-side</li> <li>Has geospatial indexing and queries</li> <li>Multiple storage engines with different performance characteristics</li> <li>Performance over features</li> <li>Document validation</li> <li>Journaling</li> <li>Powerful aggregation framework</li> <li>On 32bit systems, limited to ~2.5Gb</li> <li>Text search integrated</li> <li>GridFS to store big data + metadata (not actually an FS)</li> <li>Data center aware</li> </ul> <p><strong>Best used</strong>: If you need dynamic queries. If you prefer to define indexes, not map/reduce functions. If you need good performance on a big DB. If you wanted CouchDB, but your data changes too much, filling up disks.</p> <p><strong>For example</strong>: For most things that you would do with MySQL or PostgreSQL, but having predefined columns really holds you back.</p> <p><strong>CouchDB (1.2)</strong></p> <ul> <li>Written in: Erlang</li> <li>Main point: DB consistency, ease of use</li> <li>License: Apache</li> <li>Protocol: HTTP/REST</li> <li>Bi-directional (!) replication,</li> <li>continuous or ad-hoc,</li> <li>with conflict detection,</li> <li>thus, master-master replication. (!)</li> <li>MVCC - write operations do not block reads</li> <li>Previous versions of documents are available</li> <li>Crash-only (reliable) design</li> <li>Needs compacting from time to time</li> <li>Views: embedded map/reduce</li> <li>Formatting views: lists &amp; shows</li> <li>Server-side document validation possible</li> <li>Authentication possible</li> <li>Real-time updates via '_changes' (!)</li> <li>Attachment handling</li> <li>thus, CouchApps (standalone js apps)</li> </ul> <p><strong>Best used</strong>: For accumulating, occasionally changing data, on which pre-defined queries are to be run. Places where versioning is important.</p> <p><strong>For example</strong>: CRM, CMS systems. Master-master replication is an especially interesting feature, allowing easy multi-site deployments.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload