bluebay2014 - Fotolia
Database vendor Couchbase, based in Santa Clara, Calif., got its start as a NoSQL database technology company, but over the years, capabilities from SQL database approaches have crept in.
With the open source Couchbase Server 6.5, now in beta, Couchbase is looking to further enable SQL capabilities, with support for distributed ACID transactions. The Couchbase Server 6.5 update also includes query enhancements for performance and optimization of complex queries.
The second beta release of Couchbase Server 6.5 became publicly available on Sept. 18, with general availability expected at the end of the year.
Distributed ACID transaction support and support for relational capabilities within a JSON context are noteworthy improvements in the Couchbase 6.5 update, said Carl Olofson, research vice president at IDC.
"They are giving users the ability to define a full schema if they wish, which enables a more sophisticated query capability than is normally possible in a document database," Olofson said. "There are others that have this … but it is not common in the open source sphere."
Carl OlofsonResearch vice president, IDC
While Couchbase is adding SQL capabilities to its namesake NoSQL database, Olofson cautioned that it's not entirely accurate to claim that the company is 'bridging the gap' between SQL and NoSQL. In his view, that implies that a user can take a document set and query it as if it were a database of relational tables, which is not completely accurate, since the document model includes structures such as embedding, which do not exist in the relational world.
"That having been said, it would seem that their query language, called N1QL, provides a way to combine the strengths of these two different paradigms, offering the agility of a document database with the flexibility and expressive power of SQL-like queries," Olofson said. "So, it's really combining the strengths of both."
Distributed ACID transactions
Among the key innovations that are part of Couchbase 6.5 is support for distributed ACID transactions. An often cited limitation of NoSQL has been ACID compliance, noted Thomas Dong, vice president of product and solutions marketing at Couchbase. He added that Couchbase has always supported single-document ACID, and with 6.5, now supports distributed ACID transactions across multiple documents and multiple nodes.
Distributed ACID transactions is a feature targeted primarily at the Couchbase application developer, Dong said. Previously, for use cases that require transactional semantics for mutations across multiple documents, the application developer had to implement the logic in the application layer or use a relational database such as Postgres or SQL Server in conjunction with Couchbase, he said.
"With distributed ACID transactions, the life of such a developer is made much simpler because now they can simply delegate all that logic to Couchbase," Dong said. "The database admin also has less headache now as they do not need to maintain a Postgres or other relational database in addition to running Couchbase."
Another key area of improvement for Couchbase 6.5 is with query optimization. Dong noted that the query enhancements are for Couchbase's SQL-based query language for JSON, which the company has named N1QL (Non-1st Query Language).
One of the optimization tools is a capability referred to as cost-based query optimization.
"A cost-based optimizer is like a GPS navigational system with live traffic data," Dong explained. "The system will pick the optimal plan based on the actual data distribution."
Couchbase 6.5: The Mad Hatter
The in-development Couchbase 6.5 release is being worked on under the code name "Mad Hatter" and is publicly available on GitHub.
Internally, Couchbase refers to releases using a theme.
The current theme is "Alice in Wonderland," hence the character of the Mad Hatter in the Lewis Carroll novel.
The next release, 7.0, will internally be known as Cheshire Cat.