|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.
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.
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.