Apache CouchDB 2.0 - a NoSQL database has been released with native support for clustering. JSON and HTTP are used in this CouchDB which also provides multi-master synchronization. The IBM Cloudant's BigCouch project and The Apache Software Foundation worked together to come up with the latest version.
Fault tolerance and better performance can be achieved by single unified CouchDB instance. This instance can be created by new clustering feature where a group of computers or virtual machine in the common data center are made to work together.
The design of this clustering is available in Amazon Dynamo paper, which provides the detail design and implementation of Dynamo, the key-value storage system is one of the core services which is used to provide an “always-on” experience.
This level of availability can be achieved when Dynamo sacrifices under certain failure scenarios. This leads to extensive usage of object versioning and application- assisted conflict resolution.
CouchDB 2.0 New Feature
- Mango Query is the latest feature added as part of this release where the existing new full-text search API has been reintroduced and made more flexible, which is now open sourced.
- Mango queries can be run by Developers without having to first construct an index for a CouchDB instance, thereby solving another common complaint.
- Queries in Mango are JSON structures which are passed to REST API via HTTP POST.
To speed up the replication between the CouchDB instances, the administration interface has been rewritten which is built on React.js, replicator and compactor are made faster.