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:確認またはキャンセル
確認した場合、システムは以下を行います:
- テーブルを選択したスナップショットに戻し、現在のバージョンにします
- 発生した分岐を示すために、Changes History Visualizerを更新します
- 成功メッセージを表示します
結果の理解
リバートが成功した後:
- テーブルには、リバートしたスナップショットの正確なデータとスキーマが含まれています
- 現在の時点でこの状態を保持するために、新しいスナップショットが作成されました
- 以前のすべてのスナップショットは履歴に残っています
- 必要に応じて、異なるスナップショットに戻すことができます。より最近の状態に戻すことも含まれます
スナップショットの保持期間の管理
スナップショットの保持期間は、テーブルの歴史的バージョンがシステムにどのくらい保持されるかを制御します。適切な保持期間の管理により、歴史的データへのアクセスの必要性と、ストレージ効率およびコストの考慮事項とのバランスを取ることができます。
テーブルの現在のスナップショット保持期間は、常にTime Travelインターフェースに表示され、歴史的スナップショットがどのくらい利用可能であるかを把握できます。
保持期間の設定
保持期間は2つのレベルで設定できます:
データセットレベルの保持期間(デフォルト)
データセット内のすべてのテーブルは、デフォルトで14日間に設定されたデータセットの保持期間を継承します。これは、個別にオーバーライド設定されていないすべてのテーブルに適用するために、データセット全体を変更できます。
データセットレベルの保持期間を設定するには:
- Lakehouse Managerのデータセットセクションに移動
- データセットをクリックして詳細ページを開く
- 構成または設定パネルにアクセス
- 次のいずれかの保持期間を選択:
- 7日間(最小)
- 14日間(デフォルト)
- 21日間
- 28日間(最大)
- 変更は自動的に保存されます
この変更は、テーブルレベルのオーバーライド設定がされていないデータセット内のすべてのテーブルに即時適用されます。
テーブルレベルの保持期間オーバーライド
親データセットと異なる保持期間が必要なテーブルについては、テーブル固有のオーバーライドを設定できます。このオーバーライドは、データセットレベルの設定よりも優先されます。
テーブルレベルの保持期間を設定するには:
- 特定のテーブルに移動し、詳細ページを開く
- 構成または設定パネルにアクセス
- 「データセットの保持期間をオーバーライド」を有効にする
- 保持期間(7、14、21、または28日間)を選択
- 変更は自動的に保存されます
- Time Travelタブでオーバーライドが有効になっていることを確認
テーブルレベルのオーバーライドを削除するには、テーブル構成でオーバーライド設定を無効にするだけです。
さらに詳しく
当社のソリューションを実装するためのトレーニングや技術支援が必要な場合は、営業担当者にお問い合わせください、またはこのリンクをクリックして見積もりを依頼し、当社のプロフェッショナルサービスの専門家にプロジェクトのカスタム分析を依頼してください。
専用DiscordチャネルでData Platformを開発しているチームと直接質問し、フィードバックを共有し、相互作用してください。
OVHcloudサービスについてサポートが必要な場合は、ヘルプセンターでリクエストを作成してください。
ユーザーコミュニティに参加してください。

