Interview Document-store NoSQL database biggie Couchbase is promising application multi-tenancy within a single database as part of the next release of its flagship product.
Couchbase 7.0, expected in the first half of next year, will hand control to the application developer to specify how they want to lay out their microservice architecture and address a single database instance, said CTO Ravi Mayuram.
Speaking to The Register, he described the company's ambition for the next release of the database, which focuses on JSON documents and supports a SQL-like query language, N1QL.
"We have this new very important capability called 'collections'. And that is going to allow us to do multi-tenancy of applications. It is a huge piece for us to build because it allows us to basically pack more applications in the same server instance and it becomes more cost-effective for people to build.
"With microservices running on the same sort of same database, it gives the control to the application developer to specify how they want to lay out their architecture with regard to a database. Otherwise people these days, in the name of microservice architecture, are using multiple storage technologies all together... and that leads to a kind of sprawl which enterprises don't want anymore."
With the introduction of "collections" in the database, developers would be able to create login services, CRM and session management, for example, all drawing from the same database.
"In the enterprise, the different departments want to sort of run their application on the same database, with one not impeding the other," Mayuram said.
The feature will rely on the Couchbase DBaaS system introduced in June.
"It gives us the ability to run that service much more efficiently by having multiple tenants running on a single database instance, instead of us having to spin out more instances of a database," Mayuram added.
The ability to run multiple applications on a single database would also have an impact on security.
According to Mayuram, the problem is that, because of a proliferation of data storage such as cache, search systems, databases, and queuing technology, data becomes replicated and stored multiple times across the architecture. And that increases the attack surface available to any nefarious actors wanting to snaffle data.
"We want to give developers flexibility but we also want to give them fewer platforms and systems to manage so your attack surface areas will be reduced and developers can govern and secure systems more easily," he said.
Couchbase would also introduce more "fine-grained security features" to better manage sensitive information and comply with legislation such as GDPR.
Having a database afford multiple application tenants is nothing new. It is well established in the relational database world, which, let us not forget, is the vast majority of the market and installed base. Microsoft SQL Server, Oracle, and IBM's Db2 all support some form of application multi-tenancy on their databases.
The advantage Couchbase has, as an ACID-compliant transactional database, is that it has been built from the ground up for REST/API approaches to application development, Mayuram said.
Having spent time working for Oracle, BEA, and Informix, he observed that the JSON document has become the lingua franca of the web. "We're actually rendering on the browser. The payload for REST is also JSON. If you really look at JSON, it is just the data portion of an object; that is what is actually being programmed. When you strip out an object it looks like a JSON. So why not a database that actually manipulates JSON natively?"
The question sparked Mayuram's interest in joining Couchbase in 2013. He argued that the relational database approach to storing and addressing in the REST architecture introduces unnecessary steps.
"You decompose the object into tables and columns and then you reconstruct it going back. This is called object-relational mapping: you keep the data in a different format from when it is being actually manipulated. So what if that thing went away? Wouldn't it be smooth sailing to write the application logic and the data scheme automatically magically changes? It's easier said than done, but that was the inspiration."
When Mayuram joined Couchbase it was a key-value store with a cache. "But with the option of making JSON the value in the key-value store, it had potential for doing some serious damage as a database."
Simple inertia in favour of the large relational database vendors may be preventing the company from having more of an impact on the market. But with more enterprise-grade features in the pipeline, Couchbase is beginning to fancy its chances. ®