Time Travelを使用して以前のテーブルバージョンを復元する
Time Travelは、Lakehouse Managerの強力な機能で、テーブルの以前のバージョンを表示、探索、復元することができます
目的
Time Travelは、Lakehouse Managerの強力な機能で、テーブルの以前のバージョンを表示、探索、復元することができます。この機能は、データの完全な回復オプションを提供し、データの変更を時間を追って追跡し、必要に応じて任意の以前の状態に復元することができます。
Time Travelを使用すると、テーブルへのデータの挿入、削除、その他の変更などの変更は、自動的にスナップショットとしてキャプチャされます。これらのスナップショットは、完全なバージョン履歴を形成し、ナビゲート、検査、テーブルを任意の過去の時点に戻すために使用できます。この機能は、データガバナンス、デバッグ、意図しない変更からの回復に不可欠です。
Time Travelは、バックグラウンドで自動的に動作します。テーブルへの変更ごとに新しいスナップショットが作成され、手動の介入や設定は必要ありません。
スナップショットの理解
スナップショットとは?
スナップショットは、テーブルの状態の特定の時点でのデータとスキーマをキャプチャした、不変の時点の表現です。各スナップショットには、作成日時、行われた変更内容、およびバージョン履歴内の他のスナップショットとの関係を含むメタデータが含まれ、一意のスナップショットIDで識別されます。
スナップショットの保持期間:
- デフォルトの保持期間: 14日
- 設定可能な範囲: 7日から28日
- データセットレベルで設定でき、テーブルごとに上書き可能
- 期限切れ後、スナップショットは自動的に削除されます
プロのヒント: データの変更頻度と回復要件に基づいて保持期間を選択してください。頻繁に変更されるテーブルや重要なビジネスデータを含むテーブルは、長い保持期間を設定することで利益を得ることができます。
スナップショットの作成方法
スナップショットは、データの挿入、更新、削除、スキーマの変更などの操作を通じてテーブルを変更するたびに自動的に作成されます。プラットフォームはテーブルの状態をキャプチャし、変更後の状態を表す新しいスナップショットを作成します。
各スナップショットは、前任者と親子関係を維持し、テーブルが時間をかけてどのように進化したかを示すリンクされた履歴を作成します。スナップショットは軽量で効率的であり、ストレージシステムはバージョン間の差分(デルタ)のみを保存し、完全なコピーを保存するのではなく、します。
スナップショットの状態
スナップショットには、次の状態があります:
- 現在: テーブルの現在の状態を表す最新バージョン (● 青で表示)
- 親: 現在のバージョンの直接の前任者 (● 青緑で表示)
- ロールバック: 以前に現在の状態であったが、ロールバックされたスナップショット (● 灰色で表示)
Time Travelインターフェースへのアクセス
特定のテーブルのTime Travelにアクセスするには:
- メインサイドバーからLakehouse Managerに移動します
- 左サイドバーからTablesを選択します
- 表示したいテーブルをクリックします
- Time Travelタブをクリックします
Time Travelインターフェース
Time Travelインターフェースは、テーブルのバージョン履歴についての包括的な概要と詳細情報を提供するように設計されています。このインターフェースは、スナップショットを効果的に理解し管理するのに役立つ2つの補完的なセクションに分かれています。
変更履歴ビジュアライザー
変更履歴ビジュアライザーは、テーブルの時間をかけての進化を一目で見るためのグラフィカルなタイムラインを提供します。この視覚的な表現は、変更のパターンを迅速に理解し、重要なバージョンを特定し、異なるスナップショット間の関係を確認するのに役立ちます。
ビジュアライザーは、タイムライン上のノードとしてスナップショットを表示し、各ノードはテーブルの特定のバージョンを表します。ノードは、スナップショット間の親子関係を示す線で接続され、変更が1つのバージョンから次のバージョンにどのように流れるかを示しています。この線形の表現は、テーブルの履歴を時系列で追跡するのに役立ちます。
リバートなどの操作が発生すると、ビジュアライザーはタイムラインに分岐を表示します。リバートは、古いスナップショットから分岐する新しい現在バージョンを作成し、中間バージョンは履歴に残ります。この分岐の可視化は、バージョン履歴の非線形の側面を理解し、リバートが全体の構造に与える影響を確認するのに役立ちます。
グラフコントロール
ビジュアライザーには、バージョン履歴をナビゲートし表示するのに役立つ複数のコントロールボタンが用意されています:
- 拡大: グラフを拡大して詳細を確認します
- 縮小: グラフのサイズを縮小して一度に多くのスナップショットを表示します
- ビューに合わせる: グラフのズームレベルを自動的に調整して、ビューポート内にグラフ全体を表示し、バージョン履歴の包括的な概要を提供します
- 現在のノードにセンタリング: 現在(最新)のスナップショットにジャンプして、ビューをセンタリングします
これらのコントロールは、特に多くのスナップショットにわたる広範なバージョン履歴を持つテーブルを扱う際に特に便利です。
インタラクティブなツールチップ
ビジュアライザーは完全にインタラクティブです。任意のノードにカーソルを合わせると、ツールチップが表示されます:
- バージョン状態: 現在、親、またはロールバック(スナップショットの状態を参照)
- スナップショットID: このバージョンの一意の識別子
- スナップショットのタイムスタンプ: このスナップショットが作成された日時
- 変更の種類: 変更内容の説明(例: "データが挿入されました"、"データが削除されました"、"データが更新されました")
任意のノードをクリックして、そのスナップショットIDをクリップボードにコピーします。
スナップショットリスト
スナップショットリストは、テーブルのすべてのスナップショットを詳細な表形式で表示し、最新のものから古いものの順に並べ替えます。このリストは、視覚的なタイムラインを補完し、各スナップショットについて包括的な情報と直接アクセスできるアクションを提供します。
リストは、ページネーションされており、多くのスナップショットを持つテーブルに対応し、数百のスナップショットを扱ってもインターフェースが応答性を保つようにしています。ページをナビゲートして、テーブルの完全な履歴を探索できます。
リスト内の各行は、単一のスナップショットを表し、次の情報を含みます:
-
バージョン状態: スナップショットの現在の状態を示します(スナップショットの状態を参照)
-
スナップショットID: このスナップショットの一意の識別子で、クエリ、API呼び出し、またはサポート通信で使用されます
-
スナップショットの日時: このスナップショットが作成された日時で、ローカルタイムゾーンで表示されます
-
親バージョンからの変更: このスナップショットで行われた変更内容の説明。一般的な変更の種類には、次のものがあります:
- データが挿入されました: テーブルに新しい行が追加されました
- データが削除されました: 既存の行がテーブルから削除されました
- データが更新されました: 既存の行が変更されました
- データが置き換えられました: 既存のデータが置き換えられました
- データがロールバックされました: ロールバック操作が実行されました
-
アクション:
- 🔍 探索: スナップショットをエクスプローラーで開き、そのデータを表示します
- ↻ ロールバック: テーブルをこのスナップショットの状態に復元します
これらのアクションは、スナップショットの操作セクションで詳細に説明されています。
スナップショットの操作
スナップショットのフィルタリングと検索
テーブルのバージョン履歴が多い場合、Time Travelインターフェースには特定のバージョンを検索するためのいくつかのツールが用意されています。
スナップショットIDで検索
検索バーを使用して、IDを入力することで特定のスナップショットを検索できます。入力に従ってリストが自動的にフィルタリングされます。
変更タイプでフィルタリング
特定の変更に対応するスナップショットのみを表示します:
- データが挿入された: データが追加されたスナップショットのみを表示
- データが削除された: データが削除されたスナップショットのみを表示
- データが更新された: 既存のデータが変更されたスナップショットのみを表示
- データが置き換えられた: 既存のデータが置き換えられたスナップショットのみを表示
- データがロールバックされた: ロールバック操作が実行されたスナップショットのみを表示
時間範囲でフィルタリング
特定の期間内に作成されたスナップショットに焦点を当てます:
- 過去7日間: 過去1週間のスナップショットを表示
- 過去14日間: 過去2週間のスナップショットを表示
- 過去21日間: 過去3週間のスナップショットを表示
- 過去28日間: 最大保持期間内のすべてのスナップショットを表示
複数のフィルタを組み合わせて、さらに検索を絞り込むことができます。
スナップショットの探索
探索機能を使用すると、特定のスナップショットに含まれるデータを確認できます。これは読み取り専用の操作で、データの過去の状態を確認できます。
スナップショットを探索するには:
- 確認したいスナップショットの横の虫眼鏡アイコン(🔍)をクリック
- Lakehouse Manager Explorerが新しいタブで開き、事前設定されたSQLクエリが表示されます
- 「実行」をクリックしてクエリを実行し、スナップショットデータを表示
- 必要に応じてデータと相互作用:スクロール、並べ替え、フィルタリング、または結果をエクスポート
この探索機能は特に以下の場合に有用です:
- 特定のデータ値が変更された時期を調査する
- 特定の時点のデータの状態を確認する
- 過去の変更の影響を理解する
- 間違って削除または変更されたデータを取得する
プロのヒント: リバートを実行する前に、探索機能を使用してスナップショットに期待するデータが含まれていることを確認してください。これにより、不要なリバート操作を防ぐことができます。
以前のスナップショットに戻す
以前のスナップショットに戻すことは、テーブルを以前の状態に復元する強力な機能です。この操作により、戻すスナップショットと同じ新しいスナップショットが作成され、テーブルの新しい現在のバージョンになります。
リバートは、テーブルの現在のデータとスキーマに影響を与える重要な操作です。その影響を考慮して、リバートプロセスには、誤った変更を防ぐための必須の確認ステップが含まれています。
ステップ1: リバートを開始
復元したいスナップショットの横の円形矢印アイコン(↻)をクリックします。これにより、リバート確認ダイアログが開きます。
ステップ2: 確認ダイアログを確認
リバート操作に関する重要な情報が表示されるモーダルダイアログが表示されます:
ステップ3: 確認またはキャンセル
確認した場合、システムは以下の操作を実行します:
- テーブルを選択したスナップショットに戻し、現在のバージョンにします
- 発生した分岐を表示するために、変更履歴ビジュアライザーを更新します
- 成功メッセージを表示します
結果の理解
リバートが成功した後:
- テーブルには、戻したスナップショットの正確なデータとスキーマが含まれています
- 現在の時点でこの状態を保持するために、新しいスナップショットが作成されました
- 以前のすべてのスナップショットは履歴に残っています
- 必要に応じて、異なるスナップショットに戻すことができます。より最近の状態に戻すことも含まれます
スナップショットの保持期間の管理
スナップショットの保持期間は、テーブルの過去のバージョンがシステムにどのくらい保持されるかを制御します。適切な保持期間の管理により、歴史的なデータへのアクセスとストレージ効率、コストの考慮事項をバランスよく保つことができます。
テーブルの現在のスナップショット保持期間は、常にTime Travelインターフェースに表示され、歴史的なスナップショットがどのくらい利用可能であるかを把握できます。
保持期間の設定
保持期間は2つのレベルで設定できます:
データセットレベルの保持期間(デフォルト)
データセット内のすべてのテーブルは、デフォルトで14日間に設定されたデータセットの保持期間を継承します。この設定を変更して、個別にオーバーライド設定されていないすべてのテーブルに適用できます。
データセットレベルの保持期間を設定するには:
- Lakehouse Managerのデータセットセクションに移動
- データセットをクリックして詳細ページを開く
- 構成または設定パネルにアクセス
- 次のいずれかの保持期間を選択:
- 7日間(最小)
- 14日間(デフォルト)
- 21日間
- 28日間(最大)
- 変更は自動的に保存されます
この変更は、テーブルレベルのオーバーライド設定がされていないデータセット内のすべてのテーブルに即時適用されます。
テーブルレベルの保持期間オーバーライド
親データセットと異なる保持期間が必要なテーブルについては、テーブル固有のオーバーライドを設定できます。このオーバーライドは、データセットレベルの設定を優先します。
テーブルレベルの保持期間を設定するには:
- 特定のテーブルに移動して詳細ページを開く
- 構成または設定パネルにアクセス
- 「データセットの保持期間をオーバーライド」を有効にする
- 保持期間(7、14、21、または28日間)を選択
- 変更は自動的に保存されます
- Time Travelタブでオーバーライドが有効になっていることを確認
テーブルレベルのオーバーライドを削除するには、テーブル構成でオーバーライド設定を無効にするだけです。
さらに詳しく
トレーニングや技術的なサポートを受けてソリューションを実装するには、営業担当者にお問い合わせください、またはProfessional Servicesページを訪れて、専門家によるプロジェクト分析のために見積もりをリクエストしてください。
質問をする、フィードバックを提供し、Data Platformを構築するチームと直接やり取りするには、専用のDiscordチャネルをご利用ください。
OVHcloudサービスについてサポートが必要な場合は、Help Centreでリクエストを作成してください。
ユーザーコミュニティに参加してください。

