CouchDB Blog

2.0

The Apache CouchDB development community is proud to announce the immediate availability of version 2.0.

See also the official Apache Press Release.

CouchDB 2.0 is 99% API compatible with the 1.x series and most applications should continue to just work.

Cluster

CouchDB 2.0’s prime new feature is native support for clustering. It is based on the Dynamo paper and the work done at Cloudant and IBM in the BigCouch project which is now fully merged into Apache CouchDB project.

In short, clustering means that you can take a set of computers or virtual machines in the same data center and make them behave like a single, unified CouchDB instance. This has three benefits:

  1. fault tolerance: data is stored on more than one computer. A CouchDB 2.0 cluster obviates the need for custom setup of failover CouchDB instances.
  2. performance: data is split up and only a part lives on each node in a  cluster. That means each node only has a fraction of the work to do (like computing a view index) than a single node instance would have.

  3. capacity: with setups of multiple computers storing data, and with data being split among nodes, it is now possible to store amounts of data in CouchDB that exceed the capacity of a single computer many many times, setting CouchDB up for genuine Big Data solutions.

You have full control over all parameters of the cluster to suit every project’s needs.

Note: CouchDB 2.0 can also be configured as a “single node”-cluster, if none of the above benefits are relevant to you.

See the CouchDB 2.0 Architecture blog post for more information about the clustering technology.

Easy Queries

The second major feature is the declarative query language “Mango”. Mango is easier to use and faster in operation than the existing JavaScript-based Views. Of course, JavaScript Views continue to work.

See the Mango Query blog post for more information about Mango.

New Admin Interface

CouchDB 2.0 comes with a completely rewritten administration interface (nickname “Fauxton”), built in React.js. It sports a modern look, advanced features and a code-base that is easy to contribute to.

See Fauxton, the new CouchDB Dashboard for more info.

Performance

Both the replicator and compactor have undergone significant performance improvements that will speed up replication between CouchDB instances as well as PouchDB and Couchbase Lite instances.

Compaction can now be run at any time, even continuously, with an i/o-queueing system ensuring that live requests are not slowed down while compaction is running.

In addition: the compaction process is shorter, uses less CPU and RAM, produces smaller database files and freshly compacted databases are significantly faster to read from.

See Feature: Replication and Feature: Compaction for more info.

New Logo

CouchDB 2.0 comes with a brand new Logo, designed by Constantin Angheloui. The website, docs and other materials have been updated. See the CouchDB 2.0 branding guide for details.

More Details

For more details, please refer to our 2.0 blog post series.

Download

Apache CouchDB 2.0 downloads are available from the official website: http://couchdb.apache.org/#download.

Acknowledgements

The community would like to thank all contributors for their part in making this release, from the smallest bug report or patch to major contributions in code, design, or marketing, we couldn’t have done it without you!