Couchbase releases v7.0 in wake of successful IPO

With Couchbase 7.0, the emphasis is building on the document database's relational face.

couch2.jpg

Coming off a successful IPO last week that raised $200 million, Couchbase is getting back to business with the release of its 7.0 database. The highlights of Couchbase 7.0 include rounding out ACID transaction processing support; adding a new Scopes construct to add a relational skin to the document database; and various performance tweaks.

There's little secret about the 7.0 release, which has been in public beta since last fall. The theme is overwhelmingly a pitch to the relational database world, part of Couchbase's continued positioning as the most SQL-friendly document database. Transaction support, expanded in 7.0, came earlier in 6.5 that supported full commit and rollback for transactions spanning multiple documents, where you could invoke transactions using the Couchbase SDK or database API.

Among NoSQL document database players, Couchbase is not the first to get there: There are some parallels with the transaction support introduced in the next-to-most recent version of MongoDB. But in the 7.0 release, there is a real differentiation with MongoDB because now, Couchbase transactions are supported through its SQL-like language, awkwardly named N1QL. That means transactions are supported with common SQL SELECT, INSERT, UPDATE, DELETE, and MERGE statements.

Transaction support is distributed, fitting with Couchbase's masterless architecture. But, as this is still an early release of transaction support, there are some limitations. Transaction work across multiple nodes, but at this point, not across multiple regions. Also, when transactions are updated, accompanying indexes remain eventually consistent. This is an area where Couchbase, along with MongoDB, Cosmos DB, DynamoDB trail counterparts like Google Cloud Spanner, CockroachDB, Yugabyte and others in the relational world.

We expect that in upcoming releases, Couchbase will further round out transaction support in alignment with its positioning as a distributed database, in conjunction with further enhancement of its Couchbase Cloud database service.

Another highlight of the new release is the addition of a Scopes construct that makes Couchbase look and act more like a relational database. It complements Collections, a common artifact in document databases, that Couchbase has in its own documentation. Both are logical projections or views of data that is physically stored as JSON documents. The technical definition is that Scopes can group multiple collections together, so that if Collections roughly correspond to relational tables, scopes correspond to schema. And with the scopes feature, Couchbase is supporting smart caching that can tier data either automatically or according to preset rules by the customer.

In essence, consider Couchbase scopes as the equivalent of materialized views in analytic database that provide virtualized rollups of data; the difference with scopes is that it can be used for transactional and analytic views such as CUBE functions.

Finally, no new release is complete without performance- or scale-enhancing tweaks. There are refinements for managing data access, partitioning, and index isolation at the collection level. A configurable backup service is being added where index builds can be performed in parallel, and made portable when rebalancing the cluster. And a more flexible query optimizer supersedes the former rules-based optimizer.

Couchbase is hardly a new player in the NoSQL document database space, and like most of its rivals, was long overshadowed by MongoDB. Traditionally, Couchbase positioned itself as the more scalable and SQL-friendly alternative, but MongoDB's rise has been propelled by its developer-friendliness, especially with its tooling. In the current release, Couchbase has been playing up its appeal to the SQL relational world; we expect that in the future, it will shower more love to the JavaScript JSON community that made MongoDB what it is today.

There's good historical reason why it's taken Couchbase longer to gain momentum compared to better known rivals. In the early years, there was a forking of the original CouchDB project that was the ancestor of the Couchbase platform. IBM now owns the company that stuck with the other fork. And during those years, there was significant management turnover.

But over the past four years, the senior management team has stabilized. The reason we're having this conversation now and why the IPO turned out better than expected can be summed up in two words: The cloud. The limitless scale of the cloud is a natural fit for distributed databases like Couchbase because it provides the environment where they can exploit their natural advantages over traditional, monolithic scale-up databases. For many startups that didn't rapidly shoot to market leadership, the cloud could provide a second lease on life.

During the IPO, the company was able to raise the original share price. But it still has a ways to go. While MongoDB's revenues has been coasting along at 40% annual growth rates, Couchbase's has been roughly half that.

The company's cloud offering has carved footholds on AWS and Azure, and we expect that Google Cloud will come in the near future. As we noted in our discussion of the cloud release, it is still not yet a one-stop shopping seamless experience, in that you have to book cloud infrastructure first from the cloud provider, then go to Couchbase for the actual service. That's another item that we expect will be on the company's short term to-do list.