contentAmazonがSQL++となる新しいクエリ言語、PartiQLをオープンソースで発表AWSAmazonpartiql先日、AWSが、PartiQLという、新しいクエリ言語を発表しました。DB、データレイクと、ユースケースによって様々な方法で保管されます。時にはスキーマレスな、ドキュメント指向データベースが非常に便利です。同時にそういった場面でもSQLやSQL関連のツールを使いたくなることもあります。DBを使うかなどで通信方法やフォーマットが異なっていました。この問題に対して今回AWSが発表したソリューションが、PartiQLです。PartiQLは、SQL互換性のあるクエリ言語であり、簡単で一貫性のある方法によって異なるフォーマットやサービスとデータのやり取りを行うことを可能にします。クエリエンジンがPartiQLをサポートする限り、データがどこに、どんなフォーマットで保存されているかに関わらず、効率的なデータとのやり取りを実現します。これによって、アプリケーションコード(クエリ)を変えることなく、異なるデータソースへとデータを移行させることができます。SQLとの後方互換性があり、さらに多値、ネスト、スキーマレスのデータの拡張機能があり、標準SQLにおけるJOINやフィルター、集計機能とシームレスに融合します。data(第一級のネスティング):SQLの標準機能と同じように、ネストされたデータに対して包括的かつ正確にクエリを実行できます。stability(スキーマレスと、クエリ安定性):事前に定義されたスキーマを必要としません。スキーマの存在を前提とするデータベースエンジンでも、スキーマレスエンジンでも、それぞれで使用できます。技術的には、データ自体が同じである限りクエリの結果は変わりません。extensions(最小の拡張機能):SQLに対する拡張機能は理解しやすく、効率的な実装です。ウィンドウ処理が可能です。independence(フォーマットの独立性):クエリはデータフォーマットによらず、例えばJSONやCSVでも、同じように書き込まれます。independence(データストアの独立性):特定のデータストアによらず、多様なデータストアに適用可能です。これまでもこの原則のうちいくつかを実装した言語はありましたが、これら全てを原則としている言語はPartiQLが初めてです。オープンソースであることPartiQLはチュートリアルから仕様、実際に動作する参考実装までApache2.0のライセンスでオープンソースとして公開されます。誰でもこの、クエリランゲージの統一に参加することができます。QLDB、そしてAmazonの内部システムで使われ、様々な課題を解決しました。近く、より多くのAWSのサービスでサポートされる予定です。Serverがサポートする予定です。データに関わる全てのユーザーと、全ての産業がこの動きに加わることを期待しています。はじめかたPartiQLを試してみるには、まず最新版のJVMが必要です。)を実行すると、ターミナルが開いてREPLが実行されます。以下のようなクエリを実行できます。ms)PartiQLに参加する方法PartiQLは上述のようにオープンソースであり、さらに仕様を拡張させ、コミュニティに浸透させていくためにissueや、プルリクエストを歓迎しています。PartiQLに関して、より詳しくはこちらさらに詳しい仕様は、こちら実際にはまだまだこれからという感じですが、PartiQLのようなSQL++を実装するクエリ言語が広まり各クエリエンジンに搭載されることで、僕らの技術選択の幅がこれまで以上に広げやすくなると良いですね。requestStockLike11@IwarkScovilleというスタートアップのCTOをしています。海外エンジニア比率が8割のグローバルなチームです。日本のスタートアップでは珍しいですし、面白い環境だと思っています。純粋で技術に一直線な人が集まっているので、英語に苦手意識がない方は是非、一緒に働きましょう。Facebookは一言添えていただけると承認しやすいです。upLoginユーザーは見つかりませんでした。