This is the first in a series of blog posts introducing the Apache CouchDB 3.0 release.
The CouchDB 3.x series of releases is going to be the best we have ever released using the “Classic CouchDB Architecture”. Of course, the newest releases should also always be “the best”, but in this case, we really mean it.
2.x finally fulfilled CouchDB’s original vision of a replicating, clusterable, highly scalable data store that is easy to use, and it was rather successful at that.
The main focus of the 3.x release line is addressing most of the shortcomings that our otherwise happy users have reported over the past years.
The 3.x release series is particularly focused on a few areas of improvement over 2.x:
- Missing, obvious features
- Even smoother operational behaviour
- Prepare for CouchDB 4.0
Coinciding with the 3.0 release, we are dedicating a blog post to the changes in each of these areas:
- The Road to CouchDB 3.0: Security
- The Road to CouchDB 3.0: Introducing Partitions to CouchDB for More Efficient Querying
- The Road to CouchDB 3.0: Shard Splitting
- The Road to CouchDB 3.0: Automatic View Index Warming
- The Road to CouchDB 3.0: Smarter Compaction Daemon
- The Road to CouchDB 3.0: Easy Fulltext Search
- The Road to CouchDB 3.0: Smarter Smarter I/O Queue
- The Road to CouchDB 3.0: Prepare for 4.0
- The Road to CouchDB 3.0: Goodbye Travis, Hello Jenkins, Much Improved Continuous Integration
- The Road to CouchDB 3.0: Release
Let us drill into what “Prepare for CouchDB 4.0 means”, because we can’t properly describe CouchDB 3.x without talking about CouchDB 4.x. Earlier, we mentioned “The Classic CouchDB Architecture”. What do we mean by that?
In CouchDB 4.0 and beyond we are going to take the tried and trusted underpinnings of CouchDB: the append-only B+-tree storage engine and the dynamo clustering layer, and we are going to replace it with FoundationDB.
There will be more blog posts explaining the details of that future release, when the time comes. For 3.x, we need to know that a big change is coming, so we have both an incentive and an opportunity to build the best version of CouchDB on the existing architecture, and that a number of changes are going to prepare our users in 3.x for this future migration.
But as with all CouchDB releases, past, present, and future, we are going to focus hard on strong API compatibility, so your applications can start using the newer features without being rewritten.