converted to 1.6 markup
|Deletions are marked like this.||Additions are marked like this.|
|Line 1:||Line 1:|
Some useful talking points for discussing CouchDB.
* CouchDB is not a relational database management system (RDBMS). CouchDB != SQL
* Updating documents creates new documents. There are no partial updates or stored diffs.
* Views are crucial to CouchDB. Similar in nature to indexes in a traditional RDBMS but lazily evaluated following a MapReduce paradigm. Views let you sort and filter data.
* Reduce is tricky, yet powerful.
* Complex key collation is important, yet can also be tricky.
* Replication can create conflicts. This is unavoidable. System design should explicitly account for possible conflicts as they '''will''' happen.
* The internal revisioning system is '''only''' for conflict detection and optimistic locking (Multi-Version Concurrency Control MVCC).
* The internal revisioning system is '''not''' usable as a revision control system.