Couchbase Bets On Standard NoSQL Query Language - InformationWeek

InformationWeek is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

IoT
IoT
Data Management // Big Data Analytics
News
6/3/2015
10:01 AM
Connect Directly
Twitter
RSS
E-Mail
100%
0%

Couchbase Bets On Standard NoSQL Query Language

With N1QL, Couchbase aims to do for NoSQL what SQL did for relational databases: create a standard query language that works across NoSQL systems. Bonus: it's SQL-compatible.

IT Hiring, Budgets In 2015: 7 Telling Stats
IT Hiring, Budgets In 2015: 7 Telling Stats
(Click image for larger view and slideshow.)

NoSQL data systems, such as MongoDB, Cassandra, and Couchbase, have seen explosive growth because they can capture large amounts of unstructured data from websites and mobile applications.

NoSQL systems' flexibility and scalability makes them highly useful for swiftly acquiring information from the Web or in e-commerce transactions. Their Achilles' heel has been their inconsistent and unpredictable approach to querying. Unlike the standard frontend for relational systems, SQL, no prevailing language for NoSQL systems has emerged.

That may be about to change, thanks to Yannis Papakonstantinou, a professor of computer science and engineering at UC San Diego, and his colleagues, who have developed SQL++, a new query language for popular NoSQL systems. Couchbase is introducing N1QL (pronounced "nickel"), which it developed independent of Papakonstantinou's work. N1QL, the first commercial implementation of an SQL++ language, will launch Wednesday in beta at the Couchbase Connect user conference in Santa Clara, Calif.

[Want to learn more about how MongoDB achieved SQL reporting capability? See MongoDB Gets SQL Reporting Capability.]

Unlike other NoSQL query languages, N1QL is compatible with SQL and adds only a few simple commands to allow the JSON objects in a Couchbase database to be stored, retrieved, and otherwise manipulated like the data elements in the rows and columns of a relational database. It will be part of the upcoming Couchbase Server 4.0, due out later this year.

"We think right now we're the only ones who have got an SQL-compatible query language. We hope in the future that we are not," said Couchbase CEO Bob Wiederhold. Couchbase is what's known as a document database, in which units of English-like text, such as text and character strings found in email or comments on online forums, can be captured, stored, and retrieved as a single entity. Couchbase, MongoDB, Cassanda, and other systems capture such unstructured data as JSON objects and store the object, often with different types of data inside, as a unit.

(Image: mrhighsky/iStockphoto)

(Image: mrhighsky/iStockphoto)

Facebook, Twitter, Google, and other large Web companies were early innovators in the NoSQL big data field and remain heavy users. Many enterprises, needing a way to capture website visitor and customer information, have become heavy users.

Many such systems rely on a JSON object as the basic unit of data capture. JSON stands for JavaScript Object Notation. It started out for use in JavaScript programming, but can now be used with many languages. One JSON object can be nested inside another, so that a relationship between the data contained in each is also captured. For example, a customer's phone number can be a nested object inside a more general-purpose JSON customer object. The query system then knows how to retrieve a particular subset of data when the system user requires it.

N1QL adds the commands "Nest" and "Unnest" to a standard SQL system to give it NoSQL data-retrieval capabilities, said Ravi Mayuram, senior VP of products and engineering at Couchbase. Out of many relational database query languages, "only SQL has endured," which has given enterprises a large pool of database administrators, IT managers, and business analysts capable of using the language. Adding commands to SQL makes accessing data in a NoSQL system fit into the familiar pattern of working with SQL commands, he noted.

The prospect of a standard NoSQL query language that's compatible with SQL means a database administrator might be able to use the same tool to access data in a structured relational database and in an unstructured system.

Perhaps more important, Papakonstantinou's specification allows SQL++ to become a query language that works with MongoDB's Aggregation Pipeline API access path and that serves as a substitute for Cassandra's CQL query language or the AsterixDB system's AQL query language.

Papakonstantinou and co-authors wrote, "the SQL++ semantics can morph into the semantics of existing, semi-structured database query languages," citing the examples above. AsterixDB is an open source project started at UC Irvine that has been proposed as an Apache Software Foundation project. It is currently in a pre-project stage in the Apache Incubator.

The ability of SQL++ to work with different NoSQL systems would be a major step forward. Currently, Web, mobile, and Internet of Things application developers must learn the particular NoSQL system they think will be suitable for collecting the big data they expect the app to generate. "The lack of formal semantics inhibit[s] deep understanding of the query languages [of the various systems] and also impede[s] progress

Page 2: A game-changer for NoSQL developers?

Charles Babcock is an editor-at-large for InformationWeek and author of Management Strategies for the Cloud Revolution, a McGraw-Hill book. He is the former editor-in-chief of Digital News, former software editor of Computerworld and former technology editor of Interactive ... View Full Bio

We welcome your comments on this topic on our social media channels, or [contact us directly] with questions about the site.
Previous
1 of 2
Next
Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Charlie Babcock
50%
50%
Charlie Babcock,
User Rank: Author
6/5/2015 | 3:03:20 PM
It's not a standard...yet; can it become one?
DanielaF, understood that JSON object is an unstructured collection of data, that was never presumed otherwise. But the way the system operator decides to collect JSON documents and nest them lends an ordered element to a collection of JSON data that SQL, extended with Nest and Unnest, can support. Or at least that is my understanding of what Couchbase is trying to say. I have no doubt some worthy technology was not included in this discussion but that's true of many stories that we write. The Linkedin discussion is a good addition to these comments.  
DanielaF120
50%
50%
DanielaF120,
User Rank: Apprentice
6/5/2015 | 12:30:44 PM
Long thread on this topic on Linkedin, good to read
https://www.linkedin.com/grp/post/54257-6010072547398336516
DanielaF120
50%
50%
DanielaF120,
User Rank: Apprentice
6/5/2015 | 12:21:46 PM
Re: Charlie bets on extending SQL to JSON data
Charlie, SQL is a wonderful, well defined language. However, it's semantics is defined on flat, homogeneous, non-ordered relations. JSON is ANYTHING BUT a bag of flat, honogeneous, non-ordered relations. It's nested, irregular and has ordered arrays. SQL has NO SEMANTICS defined on JSON structures. SQL doesn't know how to process those.

Saying that we should process JSON with SQL is like saying that we should be processing COBOL structures with LISP. It's a contradition in terms.
DanielaF120
50%
50%
DanielaF120,
User Rank: Apprentice
6/5/2015 | 12:05:24 PM
and BTW, scientific dishonesty...
About the scientific honesty of Yannis Papakonstantinou.....Here is a piece of email that circulated yesterday on plenty of mailing lists.(not by me..) Yannis, as an good academic as he is, should have known better then to ignore the state of the art. BTW, JSONiq is a query language for querying JSON, used already in a variety of products. jsoniq.org It comes with a schema for JSON jsound.org

========================================


In may 2014 3 researchers write a paper entitled

The SQL++ Unifying Semi-structured Query Language, and an Expressiveness Benchmark of SQL-on-Hadoop, NoSQL and NewSQL Databases

which has 65 references to JSONiq.


In April 2015 the same 3 researchers published


The SQL++ Query Language: Configurable, Unifying and Semi-structured

which has zero references to JSONiq.


Does anybody have any suggestions as to roundabout when they started getting funding from Couchbase? 

++++++++++++++++++++++++++++++++++++++
DanielaF120
50%
50%
DanielaF120,
User Rank: Apprentice
6/5/2015 | 11:57:48 AM
cheap technology built by amateurs
This is cheap technology build by amateurs to say the least. Before being a "standard"... this query language, like ANY programming language, has to have a specification, written down, that describes what the semantics of the language is. I have been asking for one since this marketing campaign started and I have been answered "Dana, Please consider real world deployments, not academic endeavors....This is still an inexact science." Damn it... a query language is an .... "inexact science " !???. As in... you get "inexact answers "to your "inexact query" ? .....And you want users to do business with those answers !??? What the heck of a world do we live in ????? (BTW, is there such thing as an "inexact science !?")
Charlie Babcock
50%
50%
Charlie Babcock,
User Rank: Author
6/3/2015 | 6:40:18 PM
Charlie bets on extending SQL to JSON data
Not to put too fine a point on it, Ilya Geller, but Structured Query Language is based on mathematical set theory and relational algebra. It's reliability and precision have been proven many times. To successfully extend SQL into JSON-based data is pretty smart, and likely to prove extremely worthwhile inside the enterprise. I'll leave it to others to rule on the rest of your claims below.
billappleton
50%
50%
billappleton,
User Rank: Apprentice
6/3/2015 | 2:07:18 PM
Single query language for SQL and NoSQL
The open source DreamFactory project introduced a common query language for all modern SQL and NoSQL databases a few years ago -- plus user management and role-based access controls so that the queries can be safely used from a client device.
Slideshows
IT Careers: 10 Industries with Job Openings Right Now
Cynthia Harvey, Freelance Journalist, InformationWeek,  5/27/2020
Commentary
How 5G Rollout May Benefit Businesses More than Consumers
Joao-Pierre S. Ruth, Senior Writer,  5/21/2020
News
IT Leadership in Education: Getting Online School Right
Jessica Davis, Senior Editor, Enterprise Apps,  5/20/2020
White Papers
Register for InformationWeek Newsletters
Video
Current Issue
Key to Cloud Success: The Right Management
This IT Trend highlights some of the steps IT teams can take to keep their cloud environments running in a safe, efficient manner.
Slideshows
Flash Poll