Apache CouchDB is open source database programming that centers around convenience and having an adaptable engineering. CouchDB released in 2005 and later became an Apache Software Foundation project in 2008. It has a record arranged NoSQL database design and is executed in the concurrency-oriented language Erlang; it utilizes JSON to store information, JavaScript as its query language utilizing MapReduce, and HTTP for an API.
In contrast to a relational database, a CouchDB database does not store data information and connections in tables. Rather, every database is a collection of independent documents. Each document keeps up its own information and independent mapping. An application may get to various databases, for example, one stored on a client's cell phone and another on a server. Information metadata contains modification data, making it possible to combine any distinctions that may have occurred while the databases were disengaged.
Simple Architecture of Apache CouchDB database Storage Engine: It is B-tree based and the core of the system which manages storing internal data, documents and views. Data in CouchDB is accessed by keys or key ranges which map directly to the underlying B-tree operations. This direct mapping improves speed significantly.
When a user reads data in a view, CouchDB makes sure the result is up to date. Views can be used to create indices and extract data from documents Replicator: It is responsible for replicating data to a local or remote database and synchronizing design documents III.