Will Couchbase Server rearchitect to FoundationDB?

I’ve heard the good word that CouchDB intends to build version 4.0 on top of FoundationDB (https://www.foundationdb.org), and my understanding is that IBM Cloudant will adopt it, too.

Since Couchbase Server is a more extensive fork of CouchDB, I’m not sure if the same rearchitecting is planned for Couchbase? It would help me to know if this is something that may happen (eventually), or if the answer is something like, “No, not even considering it”.

Anything is possible, but this seems unlikely. What prompts this question? Is there some underlying feature or capability that you think moving Couchbase over to FoundationDb would provide?

My ideal/hope would be that both Couchbase and CouchDB move to FoundationDB and retain maximum compatibility. It makes future portability decisions a lot easier (e.g. I can start with Couchbase now and switch later, and/or have CouchDB and Couchbase servers co-existing using the same FDB deployment).

Another (similar) reason, is that with the FoundationDB layers concept, multiple layers (and/or raw KV usage) can co-exist in the same deployment, which makes operations a lot easier; for example, if I store Couchbase databases alongside a custom hashmap or other bespoke structure using FDB KVs, then they are automatically stored/backed-up together.

Finally, I strongly believe in the (design, software, testing) quality of FoundationDB. Here is a classic quote from Aphyr (of Jepsen test fame):

So there is an appeal to using/trusting FDB for the underlying distributed database, and building (more expressive/simpler/stateless) layers on top of it.

Couchbase Server was a fork of CouchDB in 2011, but it mostly stopped being one with version 2.0 in 2012 — by then we’d already rewritten the storage engine in C, ripped out revision trees, and replaced the API with memcached’s. The changes have kept going in the seven years since.

There’s really very little in common now besides five letters of the names, and maybe a few lines of Erlang. It’d be like calling Mac OS X a fork of BSD, or an Escalade a fork of a Dodge Ram, or (make up your own metaphor.)

2 Likes