SQL++ is a highly expressive semi-structured query language that encompasses both the SQL and the JSON data model. SQL++ is SQL backwards-compatible.
The Configurable version of SQL++ includes configuration options that formally itemize the semantics variations that language designers may choose from.
We use SQL++ in FORWARD's middleware query processor.
In collaboration with our colleagues at UCI, we are also developing the SQL++ language on top of the AsterixDB database.
SQL++ is a data model and query language for querying both structured data (SQL) and semi-structured data (native JSON). Key highlights include:
The Configurable SQL++ provides a formal comparison of the semi-structured data semantics and capabilities of different SQL-on-Hadoop, NewSQL and NoSQL databases, including:
Aiding the development of software that retrieves data from SQL, NoSQL, NewSQL and SQL-on-Hadoop databases, we provide the FORWARD middleware query processor, with federated database and materialized view capabilities.
Using the federated database, the developer can only issue a SQL++ query over multiple collections as if they were stored in a single datasource, and FORWARD will decompose it into native queries and send them to the corresponding datasources. Subsequently, FORWARD will combine the query results and compensate in the middleware for any semantics or capabilities discrepancies.
Using SQL++ Incremental View Maintenance, the developer can materialize a view of one or more SQL++ sources and have it be automatically maintained as the stream of data changes to underlying sources is passed to FORWARD's Incremental View Maintenance module.