CouchDB Adds Live Shard Splitting
Written by Kay Ewbank   
Monday, 02 March 2020

There's a major new release of Apache CouchDB, with improvements including live shard splitting, user-defined partitioned databases for faster querying, and an automatic view index warmer.

Apache CouchDB is an open source NoSQL document database that stores data in a schema-free JSON format. CouchDB uses its own replication protocol to keep JSON documents synchronized. CouchDB was originally developed by Damien Katz, and was then adopted as a successful Apache project. CouchDB comes with a developer-friendly query language, and optionally MapReduce for simple, efficient, and comprehensive data retrieval.

While CouchDB 3 has just been released, some of the changes to this version are in preparation for CouchDB 4, when the developers say they are going to take the tried and trusted underpinnings of CouchDB: the append-only B+-tree storage engine and the dynamo clustering layer, and are going to replace it with FoundationDB. 


 The improvements to the new release start with support for live shard splitting. Databases can now be re-sharded while online, and the feature can be configured to require specific node and range parameters upon execution.

You can also set up user-defined partitioned databases for faster querying. Databases defined like this support user-driven placement of documents into the same shard range. JavaScript views and Mango indexes have specific optimizations for partitioned databases as well.

An automatic view index warmer has been added. This carries out automatic indexing in the background to keep secondary indexes such as JavaScript, Mango, and text search up to date, without requiring an external query to trigger building them.

The automatic compaction daemon, internally known as smoosh, has been completely rewritten. This subsystem automatically triggers background compaction jobs for both databases and views, based on configurable thresholds.

Other improvements include a change to use the modern JavaScript engine SpiderMonkey 60, and official support for ARM and PPC 32bit and 64bit systems.

CouchDB 3 is available for download now. Pre-built packages for Windows, macOS, Debian/Ubuntu and RHEL/CentOS are available. Docker images have been submitted to Docker Hub for review and will be available as soon as that  process is done. 



More Information

CouchDB Download

Related Articles

Couchbase Launches JSON Analytics

Couchbase Mobile Version Adds Sync Gateway

Couchbase Server 4.0 Now With N1QL

What Happens To Couchbase Now?

Couchbase Server 2.0

UnQL is SQL for NoSQL - new language, new Couchbase 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Notepad++ Twentieth Anniversary

An updated version of Notepad++ is available, on its 20th anniversary. The text editor first saw light in November 2003 when it was released on SourceForge.

Leporello.js - The Next Gen JavaScript IDE

Leporello.js is an interactive functional programming IDE for JavaScript with debugging superpowers. Let's look at what makes it different from traditional IDEs.

More News

{laodposition comment}