The first sentence of CouchDB's definition (as defined by http://couchdb.apache.org/) is as follows:
CouchDB is a document database server, accessible through the RESTful JSON API.
Let's dissect this sentence to fully understand what it means. Let's start with the term database server.
CouchDB employs a document-oriented database management system that serves a flat collection of documents with no schema, grouping, or hierarchy. This is a concept that NoSQL has introduced, and is a big departure from relational databases (such as MySQL), where you would expect to see tables, relationships, and foreign keys. Every developer has experienced a project where they have had to force a relational database schema into a project that really didn't require the rigidity of tables and complex relationships. This is where CouchDB does things differently; it stores all of the data in a self-contained object with no set schema. The following diagram will help to illustrate...