Amazon анонсировала PartiQL, язык запросов, совместимый с SQL, который позволяет запрашивать данные независимо от того, в какой базе данных они хранятся. Эталонная реализация языка имеет открытый исходный код.
Amazon утверждает, что до тех пор, пока механизм запросов поддерживает PartiQL, вы можете обрабатывать структурированные данные из реляционных баз данных (как транзакционных, так и аналитических), полуструктурированные и вложенные данные в открытых форматах данных (например, в озере данных Amazon S3) и схемах. меньше данных в NoSQL или в документных базах данных, которые позволяют использовать разные атрибуты для разных строк.
Реализация с открытым исходным кодом поддерживает парсинг запросов PartiQL на абстрактные синтаксические деревья, которые их приложения могут анализировать или обрабатывать, и поддерживает прямую интерпретацию запросов PartiQL.
Amazon уже используется рядом систем Amazon, включая Amazon S3 Select, Amazon Glacier Select, Amazon Redshift Spectrum и Amazon Quantum Ledger Database. Couchbase также планирует добавить поддержку PartiQL в Couchbase Server.
Amazon имеет много полуструктурированных данных, чаще всего в формате Ion, и компании нужен был способ использовать эти нереляционные данные в сервисах реляционных баз данных AWS, таких как Redshift. Для этого они разработали PartiQL. Поскольку это обеспечивает согласованный способ запроса данных в различных форматах, это означает, что вы можете перемещать данные между источниками данных без необходимости изменять запросы. Он обратно совместим с SQL и предоставляет расширения для многозначных, вложенных данных и данных без схемы.
PartiQL не требует предопределенной схемы для набора данных и может использоваться обоими механизмами баз данных, которые предполагают наличие схемы, и механизмами без схемы.
Он предлагает независимость от формата, при этом запросы написаны одинаково для базовых данных в JSON, Parquet, ORC, CSV, Ion или других форматах. Он также предлагает независимость от хранилища данных.
PartiQL доступен на веб-сайте PartiQL или на GitHub.