blog image

A Quick Overview of CouchDB

CouchDB is an open source database developed by Apache software foundation. The focus is on the ease of use, embracing the web. It is a NoSQL document store database. It uses JSON, to store data (documents), java script as its query language to transform the documents, http protocol for api to access the documents, query the indices with the web browser. It is a multi master application released in 2005 and it became an apache project in 2008.

Apache CouchDB was developed by Apache Software Foundation and initially released in 2005. CouchDB is written in Erlang. It is an open-source database that uses various different formats and protocols to store, transfer, and process its data. It uses JSON to store data, JavaScript as its query language using MapReduce, and HTTP for an API. Documents are the primary unit of data in CouchDB and they also include metadata. Document fields are uniquely named and contain values of varying types and there is no set limit to text size or element count.

CouchDB implements a form of multiversion concurrency control (MVCC) so it does not lock the database file during writes. Conflicts are left to the application to resolve. Resolving a conflict generally involves first merging data into one of the documents, then deleting the stale one.

Why CouchDB?

  • CouchDB have an HTTP-based REST API, which helps to communicate with the database easily. And the simple structure of HTTP resources and methods (GET, PUT, DELETE) are easy to understand and use.
  • As we store data in the flexible document-based structure, there is no need to worry about the structure of the data.