Iceberg テーブルのタイム・トラベル
時間関連のデータは、ほとんどのアプリケーション・データベースの中核となります。 バージョン 11.2.3以降で使用可能な watsonx.data のタイム・トラベル機能を使用すると、履歴表などの追加のアプリケーション・ロジックを開発することなく、履歴データを取得して分析することができます。 この強力なツールは、データ変更の履歴を追跡したり、データを再構成したりする場合に役立ちます。
watsonx.data のタイム・トラベルを使用して、過去の時点の履歴データ (変更されたデータ) にアクセスできます。
AS OF を使用した特定の時刻のデータの照会
SELECT product_id, product_name FROM product for SYSTEM_TIME AS OF "2023-10-23 10:00:00"
以下の制約が適用されます。
- Isceberg タイプ・フォーマットの watsonx.data テーブルでは、system_time の AS OF/BEFORE サブ節のみがサポートされます。
<timestamp value>」は、タイムスタンプ型か、タイムスタンプ値に昇格可能なものでなければならない。<timestamp value>時点では式にすることができるが、最終的には定数値に評価される必要がある。<timetamp value>の時点では、属性やサブクエリを参照することはできません。<timestamp value>の時点は、そのテーブルの最初のスナップショットIDの時点より前であってはならない。
BEFORE を使用した特定の時刻のデータの照会
SELECT product_id, product_name, product_price FROM product FOR SYSTEM_TIME BEFORE '2023-12-01 12:00:00'
BEFORE 副節はタイム・スタンプ値を予期し、指定されたタイム・スタンプの前のデータに関して表の状態を戻します。
SYSTEM_VERSION を使用した特定のスナップショットのデータの照会
SELECT product_id, product_name, product_price FROM product FOR SYSTEM_VERSION AS OF 1887396386633333444
SYSTEM_VERSION AS OF サブ節を使用すると、スナップショット ID を指定して、指定されたスナップショット ID に基づいて表の状態を要求することができます。 SYSTEM_VERSION 節を使用したこのタイム・トラベル照会は、Iceberg 形式の watsonx.data 表でのみ許可されます。
<table-name> スナップショットを表示する。
SHOW SNAPSHOTS FOR PRODUCT:
SNAPSHOT_ID | SNAPSHOT_TIMESTAMP
---------------------+-------------------------
9200563116884920042 | 2023-11-22 14:07:11.568
772896300100219109 | 2023-11-22 14:07:23.075
6627427340973491406 | 2023-11-22 14:07:30.401
5580047607422801480 | 2023-11-22 14:07:36.699
9177117635666586877 | 2023-12-01 12:07:53.511
(5 rows)
この show snapshots ステートメントは、指定された iceberg テーブルに関連付けられているすべての snaphosts をリストします。 この情報は、AS OF タイム・スタンプまたは AS OF スナップショット ID を使用してタイム・トラベル照会を行う場合に役立ちます。 また、この show コマンドは、Iceberg 形式の watsonx.data テーブルでのみ使用できます。
参照資料
タイム・トラベルおよび履歴データ を参照してください。