Installing CouchDB and it’s Features

CouchDB is an open source database software that completely embraces the web. It is developed by an Apache software foundation. It stores your data with JSON documents. CouchDB uses HTTP to access the documents and query indexes with the web browser. It uses JavaScript to Index, combine, and transform the documents. CouchDB provides an easy to use web administration console and it works well with modern web and mobile apps. CouchDB consists of a fault-tolerant storage engine that puts the safety of your data first. You can even serve web apps directly out of CouchDB. Using CouchDB’s incremental replication, it allows to distribute your data, or your apps, efficiently. CouchDB supports master-master setups with automatic conflict detection.

CouchDB comes with a lot of features, such as on-the-fly document transformation and real-time change notifications, which makes web app development a breeze. CouchDB is highly available, partition tolerant, and consistent. CouchDB consists of an HTTP-based REST API, which helps to communicate with the database easily. It uses methods such as GET, PUT, DELETE which are easy to understand and use. There is no need to worry about the structure of the data because the data is stored in the flexible document-based structure. It provides powerful data mapping, which allows querying, combining, and filtering the information for the users. CouchDB provides easy-to-use replication, using which allows to copy, share, and synchronize the data between databases and machines.

In CouchDB database is the outermost data structure/container in which each database consists of a collection of independent documents where each document maintains its own data and self-contained schema. Document metadata contains revised information, which makes it possible to merge the differences occurred while the databases were disconnected. In order to avoid the need to lock the database field during writes, CouchDB implements multi version concurrency control.

 

Installing CouchDB

1) Login to server.

2) Download files.

3) Extract files.

# tar -xvf apache-couchdb-1.6.1.tar.gz

4) Change the directory

# cd apache-couchdb-1.6.1

5) # ./configure

6) # make

7) # make install

8) Editing configuration file.

# vi /usr/local/etc/couchdb/local.ini

9) To start couchdb

# /etc/init.d/couchdb start

 

Features of CouchDB

1) Document Storage: CouchDB is a document storage NoSQL database (NoSQL database is a database that provides a mechanism to store and retrieve data other than the tabular relations used in relational databases and these databases are: schema-free, support easy replication, have simple API, eventually consistent, and can handle huge amounts of data). Documents are the primary unit of data, in which each field is uniquely named and contain values of various data types such as text, number, Boolean, lists, and so forth. There is no set limit to text size or element count in these documents.

2) Provides an API called RESTful HTTP API for reading and updating (add, edit, delete) database documents.

3) ACID Semantics: CouchDB provides ACID semantics. It is done by implementing a form of Multi-Version Concurrency Control. Using Multi-Version Concurrency Control, it can handle a high volume of concurrent readers and writers without conflict.

4) Built for Offline: CouchDB can replicate to devices like smartphones that can go offline and handle data sync when the device is back online.

5) Distributed Architecture with Replication: CouchDB was designed with bi-direction replication or synchronization, and off-line operation in mind. Which means multiple replicas can have their own copies of the same data, modify it, and then sync those changes at a later time.

6) Document Storage: CouchDB stores data as documents in which every document in a CouchDB database has a unique id, so it does not require any document schema.

7) Eventual Consistency: CouchDB ensures eventual consistency which is used to provide both availability and partition tolerance.

 

If you need any further assistance please contact our support department.

Was this answer helpful? 0 Users Found This Useful (0 Votes)