NoSQL databases support semi-structured data, typically modeled as JSON. Most of them also provide limited (but expanding) query languages. Their idiomatic, non-SQL language constructs, the many variations, and the lack of formal semantics inhibit deep understanding of the query languages, and also impede progress towards clean, powerful, declarative query languages. This talk gives an overview of the SQL++ Query Language, a SQL-backwards-compatible language for working with semi-structured data.
SQL was designed in the 1970s for interacting with the flat, schema-enforced world of relational databases, while SQL++ is designed for the nested, semistructured and schema-less/schema-optional world of modern NoSQL, NewSQL, and SQL-on-Hadoop systems. The N1QL query language that is implemented by the Couchbase Query Service today is a subset of SQL++. The Couchbase Analytics Service will provide a more complete implementation of SQL++.