テーブルのスナップショット
テーブルが書き込まれるたびに、PlaidCloud のレイクハウスはその時点のテーブルのスナップショット(一貫性のある、特定の時点のデータのコピー)を保持します。スナップショットを使うと、テーブルに以前どのような内容が含まれていたかを確認したり、誤ったロードから復旧したり、テーブルが時間の経過とともにどう変化したかを監査したりできます。どこまでさかのぼれるかは、テーブルのタイムトラベル設定によって決まります。デフォルトは 1 日で、プロジェクトのデフォルトまたは期間を延ばしたテーブルでは最大 90 日です。ストレージの管理を参照してください。
スナップショットパネルでは、その履歴を参照したり、任意のスナップショットをテーブルエクスプローラーで読み取り専用として開いたり、テーブルを以前のスナップショットに巻き戻しまたは復元したりできます。
スナップショットパネルを開く
Section titled “スナップショットパネルを開く”プロジェクトのテーブル一覧で、テーブルの行にあるスナップショット / フラッシュバックのボタンをクリックします。スナップショットパネルが開き、テーブルのスナップショットが新しい順に一覧表示されます。
- 日時 - スナップショットが取得された日付と時刻。
- 行数 - そのスナップショット時点でのテーブルの行数。
- Δ行数 - 前のスナップショットと比べた行数の変化。各書き込みで何が追加または削除されたかがわかります。
- サイズ - スナップショットの圧縮後のストレージサイズ。
- ラベル - 名前を付けた、またはピン留めしたスナップショットの名前。
- 保留中 - 保留されている(通常の保持期間を超えて保持される)スナップショットのピンマーク。
スナップショット時点のデータを表示する
Section titled “スナップショット時点のデータを表示する”テーブルの過去のある時点のデータを表示する方法は 2 つあります。どちらの場合も、テーブルエクスプローラーが読み取り専用の履歴ビューで開き、どのスナップショットを表示しているかを示すバナーと、現在のデータに戻るボタンが表示されます。
- スナップショットパネルから - スナップショットを選択して、スナップショット時点を表示をクリックします。
- テーブルエクスプローラーから - ツールバーの時点ドロップダウンを使用します。テーブルの最近のスナップショットが一覧表示されます。1 つ選ぶとビューが切り替わり、現在(ライブデータ) を選ぶとライブデータに戻ります。
スナップショットを巻き戻しまたは復元する
Section titled “スナップショットを巻き戻しまたは復元する”スナップショットを選択して、元に戻す / 復元をクリックします。ダイアログには 2 つの選択肢があります。
- このテーブルをその場で巻き戻す(デフォルト)- テーブルの現在のデータを、スナップショットの内容で置き換えます。これは破壊的な操作であるため、確認としてテーブル名を入力します。データが置き換えられる前に、PlaidCloud は現在の状態の巻き戻し前の安全用スナップショットを自動的に取得するため(ピン留めに対応しているストレージエンジンの場合)、いつでも元の状態に戻せます。Databend レイクハウスでは、スナップショット以降にテーブルの列が変更されている場合、その場での巻き戻しは拒否され、変更された列が示されます。その場合は、新しいテーブルに復元してください。
- スナップショットを新しいテーブルに復元 - 元のテーブルには手を加えず、プロジェクトに新しいテーブル(名前とフォルダーを指定します)を作成し、ソースと同じ列で、スナップショットのデータを入力します。AI アシスタントまたは MCP を通じて、名前を指定せずに復元すると、ソーステーブルに基づく名前が付けられます。たとえば
Sales (restored 3f2a9c1d)のようになります。
名前付け、ピン留め、保持
Section titled “名前付け、ピン留め、保持”スナップショットは、夜間のクリーンアップ時に、テーブルのタイムトラベル設定(デフォルトは 1 日、最大 90 日)の期間を過ぎたものから削除されます。巻き戻しまたは復元は、テーブルに表示されている最も古い復元可能な時点までさかのぼって行えます。スナップショットをより長く保持するには、次の方法があります。
- スナップショットを作成は、現在のデータの保留中スナップショットをオンデマンドで取得します。リスクのある再ロードの前(たとえば「Q2 の再ロード前」)に便利です。
- 保留は、選択したスナップショットをピン留めします。解放は、保留を解除して通常のライフサイクルに戻します。
REST API を通じてプロジェクト内のすべてのテーブルを一度に復元すると、各テーブルは直近の保留中スナップショットに復元され、保留のないテーブルはそのまま残ります。巻き戻し前の安全用スナップショットは保留とは見なされませんが、スナップショットパネルでは保留中と表示されることがあります。ただし、保留などでそのスナップショットを自分で保留した場合は別です。pre-revert_ で始まるスナップショット名は、安全用スナップショット用に予約されています。復元できないテーブルがあっても、ほかのテーブルは復元され、復元できなかったテーブルとその理由が、それぞれリクエストの失敗として示されます。
その場での巻き戻しは、ダイアログ、REST API、AI アシスタントのいずれから行った場合でも、レイクハウスの監査ログに記録されます。巻き戻しを実行したユーザー、日時、巻き戻し先のスナップショット、保持された安全用スナップショットが含まれるため、この機能によるテーブルの変更は追跡できます。