Amazon QLDBのコンソールで使えるクエリエディタが新しくなりました

2022.06.26

いわさです。

Amazon QLDBではコンソール上でクエリを実行することが出来るクエリエディタが提供されていますが、今回V2という形で大きくアップデートされました。

本日時点では従来のコンソールへは以下からアクセスすることが出来ます。

また、クエリエディターのURLからも切り替えることが出来ます。

  • 旧: /qldb/home?region=ap-northeast-1#query-editor
  • 新: /qldb/home?region=ap-northeast-1#query-editor-v2

この2つを比較した変わった点をご紹介します。

入力補完めっちゃ効いてる

旧バージョンでは入力補完の類はなかったのですが新バージョンだと入力補完がサポートされています。
かなりクエリ打ちやすくなってます。

クエリ結果見やすくなってる

旧バージョンでは、テーブル形式か、Ion形式で確認することが出来ていました。

ただし、Ion形式の場合は1要素づつ確認する形で、なぜかページ送りする必要がありました。

新バージョンでは、ドキュメント / テーブル / Ion / CSV と、様々な形式で表示することが出来るようになりました。
また、クエリ実行時にパフォーマンス情報も併せて確認することが出来るようになっています。

ドキュメント

テーブル

CSV

Ion テキスト

さらに、Ion形式でも全体構造を俯瞰して確認することが出来るようになりました。

タブで複数のクエリ管理できるようになってる

旧バージョンでは、過去のクエリはクエリ履歴から参照し、エディタ上ではひとつのみクエリを表示することが出来ていました。

新バージョンでは、Athenaのようにクエリエディタをタブで管理出来るようになりました。
これによって複数のクエリを好きなタイミングで実行出来ます。

私はAthenaのタブを大量に開いてどれがどれだか後からわからなくなるタイプなので、この運用方法はちゃんと考えねばと思っています。

結果ダウンロード出来るようになってる

旧バージョンではありませんでしたが、新バージョンではクエリ結果を、IonテキストあるいはCSV形式でダウンロード出来るようになりました。
これも良いですね。

アドホックにクエリかけてダウンロードしてどこかに取り込んで...みたいなのをサッとやりやすくなった感じがします。

トランザクションモード、あるよ

トランザクションモードを使って、クエリエディタでのトランザクションを手動で制御出来るようになりました。

デフォルトはオフになっていて、暗黙的にコミットされています。(エラーがなければ)
このモードをオンにすると手動トランザクション内で複数のステートメントを実行してからコミット/キャンセルが出来ます。

QLDBでは、SELECTを含むすべてのPartiQLステートメントはトランザクションで処理されます。
トランザクションは最大30秒間実行出来て、これを超えるとタイムアウトでキャンセルされます。また、この30秒は固定制限となっており変更出来ません。
詳しくは以下もご参照ください。

クエリパフォーマンスの最適化 - Amazon Quantum Ledger Database (Amazon QLDB)

では、トランザクションモードを有効化してみます。

トランザクションを開始すると30秒からカウントダウンタイマーが動き出します。

コミットせずにタイムアウトしました。
トランザクションは反映されていません。

こちらはコミットした場合です。
トランザクションが反映されています。

さいごに

本日はQLDBのクエリエディタが新しくなったので、新旧比較してみました。

旧バージョンがいつまで使えるのかは情報が見当たりませんでしたが、今回の比較結果を見る限りはデメリットもなく、様々な点で使いやすくなっていると思うので、V2に移行したほうが良いかなという印象です。