Today, most of the business critical decisions are driven by data. As data grows, it is typically spread across a combination of relational databases, non-relational data stores, and data lakes. As per Harvard business review, on average, less than half of structured data is being used to make business critical decision. Structured data could be a data from relational databases. They do no have facilities to consider other data sources such as the local file system or NoSQL database data or data lakes. In this article, we will check newly released Amazon PartiQL language, an open source SQL compatible query language that can be used to query NoSQL, File system, Relational database, etc.
What is PartiQL?
Partiql is a SQL-compatible query language that makes it easy to efficiently query data from relational databases, NoSQL databases, local file system regardless of where or in what format it is stored. Partiql is mainly written in Kotlin and provides a wrapper to support Java.
Amazon has open sourced the PartiQL tutorial, specification, and a reference implementation of the language under the Apache 2.0 license, so that everyone can participate, contribute, and use it to drive widespread adoption for this unifying query language.
Partiql supports SQL-99 syntax along with some extensions. It will be easy for organization to integrate with existing SQL applications.
The partiql language was developed by AWS R&D engineers to helps query various semi-structured data that they received from the Amazon’s retail business.
PartiQL Features
Following are the features of partiql language
- SQL compatibility: PartiQL is compatible with SQL-99. Existing SQL queries will continue to work. No need to change existing SQL code.
- First-class nested data: It provides facility to query nested data sets.
- Optional Schema And Query Stability: Language works with relational databases engines and schema-less NoSQL engines.
- Minimal Extensions: PartiQL has a minimum number of extensions over SQL which includes intuitive filtering, joining, aggregation, and windowing on the combination of structured, semi-structured, and nested datasets.
- Format Independence: Partiql is independent of any data format. A query can be written to access data from various formats such as JSON, Parquet, ORC, CSV, Ion, etc.
- Data Store Independence: This language is independent of any particular underlying data store.