CouchDB is a NoSQL database being offered by the Apache Software Foundation. It's among the most popular implementations of these types of databases.
CouchDB is implemented in Erlang, something many of you may not be familiar with. However, to use CouchDB, no Erlang is required. Erlang was chosen for its concurrence features as well as its fault tolerance.
CouchDB is a document-oriented database, storing documents of key/value pairs. Each of these documents is addressed using a unique ID number (a DocID). The documents themselves are stored in a b-tree and are immutable, meaning they cannot be edited. Once a document is stored in the database, it's there for good. You can, however, create new versions of the document.
CouchDB offers a RESTful HTTP interface. Also, instead of plugging into an existing HTTP server, CouchDB implements its own HTTP server in Erlang. This allows for greater portability, since it doesn't have to rely on any particular web server on the platform.