After four years of operating BigCouch in production, Cloudant has merged the BigCouch code back into the open source Apache CouchDB project. Cloudant provides a database-as-a-service and CouchDB serves as the foundation of Cloudant’s technology. The company developed BigCouch, an open source variant of CouchDB, to support large-scale, globally distributed applications.
There are three main reasons Cloudant is doing this, Adam Kocoloski, co-founder and CTO at Cloudant, told 5 Minute Briefing in an interview. “A healthy Apache CouchDB is healthy for Cloudant and that is true for a couple of reasons. One is that CouchDB users tend to be a very good source of leads for this company. There are folks who like the database model and like the feature set that it provides but are not in a position where they want to grow it, maintain it, and scale it for themselves – and the more of those users that are out there the better. We see supporting the project particularly via the time and effort that our engineers spend to do a grant like this as strategic to our business.”
Second, said Kocoloski, the code merger is beneficial to Cloudant in terms of the way the company’s developers spend their time. “Many of the developers at Cloudant - myself included - wear two hats,” said Kocoloski. “In addition to being employees of Cloudant, we are also committers or members of the project management committee over at Apache CouchDB and that means that as the code bases have evolved over the years, we have sometimes been in a position of trying to reconcile divergent changes from upstream, trying to do an efficient job of pushing things back up, and pulling new features down, and supporting them in our environment.” As a result, with the code merger Cloudant hopes to improve the efficiency and velocity of its developers.
And third, Kocoloski noted, “The core CouchDB code a is a key piece of the technology that we have at Cloudant to provide the technology stack that we offer to our customers and the more that code sees the light of day and the more it is tested by a broad and diverse user community the more likely it is that any issues that crop up show up there in a generally QA process as opposed to being something that only sees the light of day when it is deployed on our servers and affecting our customers in production. We are big believers in visibility making bugs shallow.”
According to Cloudant, the key accomplishment of the merged code is the BigCouch clustering capability. Among other improvements to Apache CouchDB, Cloudant has contributed a new compactor process that creates smaller and better-organized post-compaction databases. CouchDB users can now experience significant improvements in compaction and replication speed, as well as boosts in high-concurrency access performance. Additional improvements include: better index update speeds, updated aggregate reduce functions, smooth hot-code updates, improved logging, and streamlined libraries. Cloudant engineers also refactored internal code, removing complicated sections and boosting overall performance.
A preview of the merged software is available now, and a general release of CouchDB with the merged BigCouch functionality is targeted to be available following the Apache community release process.
For more information about Cloudant, go to https://cloudant.com.