コンソールを使用した Amazon QLDB へのアクセス - Amazon Quantum Ledger Database (Amazon QLDB)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コンソールを使用した Amazon QLDB へのアクセス

Amazon QLDB の AWS Management Console には以下からアクセスできます: https://console.aws.amazon.com/qldb

コンソールを使用して、QLDB で以下のことを行うことができます。

  • 台帳を作成、削除および列挙したり、台帳に説明を追加したりする。

  • RunPartiQLを使用して、ステートメントPartiQL エディタ

  • QLDB リソースのタグを管理する。

  • ジャーナルデータを暗号的に検証する。

  • ジャーナルブロックをエクスポートまたはストリーミングします。

Amazon QLDB 台帳を作成し、サンプルアプリケーションデータで設定する方法については、「Amazon QLDB コンソールの使用開始方法」を参照してください。

PartiQL エディタのクイックリファレンス

Amazon QLDB では、クエリ言語として PartiQL のサブセットがサポートされ、ドキュメント指向のデータ形式として Amazon Ion がサポートされています。PartiQL の QLDB での実装に関する詳細なガイドについては、「Amazon QLDB の PartiQL リファレンス」を参照してください。

以下のトピックでは、QLDB での PartiQL の使用方法のクイックリファレンスを示します。

QLDB における PartiQL のクイックヒント

以下は、QLDB で PartiQL を使用するためのヒントとベストプラクティスの簡単な要約です。

  • 同時実行性とトランザクションの制限を理解する— を含むすべてのステートメントSELECTクエリは、オプティミスティック同時実行制御 (OCC)競合およびトランザクション制限30 秒のトランザクションタイムアウトを含む。

  • インデックスの使用 - 高基数インデックスを使用し、ターゲットとなるクエリを実行して、ステートメントを最適化し、すべてのテーブルスキャンを回避します。詳細については、「クエリパフォーマンスの最適化」を参照してください。

  • 等価述語の使用 - インデックス付きルックアップには等価演算子 (= または IN) が必要です。不等価演算子 (<>LIKEBETWEEN) はインデックス付きルックアップの対象にならず、すべてのテーブルスキャンが実行されます。

  • 内部結合のみを使用— QLDB は内部結合のみをサポートしています。ベストプラクティスとして、結合するテーブルごとにインデックス付けされたフィールドで結合します。結合基準と等価述語の両方に高基数インデックスを選択します。

コマンド

QLDB は、以下の PartiQL コマンドをサポートしています。

データ定義言語 (DDL)
コマンド 説明
CREATE INDEX テーブルの最上位のドキュメントフィールドのインデックスを作成します
CREATE TABLE テーブルを作成します
DROP INDEX テーブルからインデックスを削除します
DROP TABLE 既存のテーブルを無効にします
テーブルの削除の取り消し 非アクティブなテーブルを再度有効にします
データ操作言語 (DML)
コマンド 説明
DELETE ドキュメントの新しい最終リビジョンを作成して、アクティブなドキュメントを削除済みとしてマークします
FROM (INSERT、REMOVE、または SET) 意味的には同じUPDATE
INSERT テーブルに 1 つまたは複数のドキュメントを追加します
SELECT 1 つまたは複数のテーブルからデータを取得します
UPDATE ドキュメント内の特定の要素を更新、挿入、または削除します

DML ステートメントの例

挿入します

INSERT INTO VehicleRegistration VALUE { 'VIN' : 'KM8SRDHF6EU074761', --string 'RegNum' : 1722, --integer 'PendingPenaltyTicketAmount' : 130.75, --decimal 'Owners' : { --nested struct 'PrimaryOwner' : { 'PersonId': '294jJ3YUoH1IEEm8GSabOs' }, 'SecondaryOwners' : [ --list of structs { 'PersonId' : '1nmeDdLo3AhGswBtyM1eYh' }, { 'PersonId': 'IN7MvYtUjkp1GMZu0F6CG9' } ] }, 'ValidToDate' : `2020-06-25T` --Ion timestamp literal with day precision }

更新-INSERT

UPDATE Vehicle AS v INSERT INTO v VALUE 26500 AT 'Mileage' WHERE v.VIN = '1N4AL11D75C109151'

更新-削除

UPDATE Person AS p REMOVE p.Address WHERE p.GovId = '111-22-3333'

SELECT — 相関サブクエリ

SELECT r.VIN, o.SecondaryOwners FROM VehicleRegistration AS r, @r.Owners AS o WHERE r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')

SELECT — 内部結合

SELECT v.Make, v.Model, r.Owners FROM VehicleRegistration AS r INNER JOIN Vehicle AS v ON r.VIN = v.VIN WHERE r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')

SELECT — BY 句を使用してドキュメント ID を取得する

SELECT r_id FROM VehicleRegistration AS r BY r_id WHERE r.VIN = '1HVBBAANXWH544237'

システム定義ビュー

QLDB は、テーブルの以下のシステム定義ビューをサポートしています。

表示 説明
table_name ユーザーデータの現在の状態のみが含まれる、テーブルのデフォルトのユーザービュー
_ql_committed_table_name ユーザーデータとシステム生成メタデータ (ドキュメント ID など) の両方の現在の状態が含まれる、テーブルの完全システム定義のコミット済みビュー
history(table_name) テーブルのリビジョン履歴全体を返す、組み込みの履歴関数

基本的な構文ルール

QLDB は、PartiQL の以下の基本的な構文ルールをサポートしています。

文字 説明
' 一重引用符は、Amazon Ion 構造内の文字列値、またはフィールド名を表します
" 二重引用符は、引用符で囲まれた識別子 (テーブル名として使用される予約語など) を表します
` バックティックは Ion リテラル値を表します
. ドット表記で、親構造のフィールド名にアクセスします
[ ] 角括弧は Ion の list を定義します。または、既存のリストのゼロから始まる序数を表します
{ } 中括弧は Ion の struct を定義します
<< >> 二重山括弧は、複数のドキュメントをテーブルに挿入するために使用する PartiQL バッグを定義します
大文字と小文字の区別 フィールド名やテーブル名など、QLDB システムオブジェクト名はすべて、大文字と小文字が区別されます

PartiQL エディタのキーボードショートカット

-PartiQL エディタでは QLDB 次のキーボードショートカットがサポートされています。

[Action] (アクション) macOS Windows
実行 Cmd+Return Ctrl+Enter
[Comment] (コメント) Cmd+/ Ctrl+/
Clear Cmd+Shift+Delete Ctrl+Shift+Delete