Apache Couch Database : An Introduction

Apache Couch Database

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.

Apache Couch Database Architecture

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.

Main Features of CouchDB

  • ACID Semantics: CouchDB provides ACID Semantics bt implementing a form of Multi-Version Concurrency control as it can handle a high volume of readers and writers without conflicts.
  • Document Storage: CouchDB stores “documents” as one or more field/value pairs expressed as JSON. Every document in a CouchDB database has a unique id and there is no required document schema.
  • Built for Offline: CouchDB replicate to devices that can go offline and handle data sync for you when the devices is back online.
  • Distributed Architecture with Replication: : CouchDB designed with bi-direction replication and offline operation in mind. Means it have multiple replica can have their own copies of same data.
  • Map/Reduce Views & Indexes: The stored data is structured using views, In CouchDB each view is constructed by JavaScript function that acts as the Map half of map/reduce operation.

Want to understand how SNAK Consultancy can help your Business?

Contact Us