メインコンテンツまでスキップ

スナップショット

スナップショットは、スキーマおよびすべてのデータを含む、プロジェクトのルートブランチの時点の取得です。Lakebase は瞬時にスナップショットを作成し、パフォーマンスへの影響を最小限に抑えます。バックアップまたは復元ポイントとして使用できます。

Lakebaseアプリでスナップショットの作成、復元、管理を行うか、Python SDK、Java SDK、Databricks CLI、またはcurlのスナップショットAPIを使用してプログラムで処理を行うことができます。Terraformでは、Branchを作成してスナップショットから復元できます。複数の方法で操作を実行できる場合は、その手順がtabとしてまとめて表示されます。

注記

2026年6月1日より、Lakebaseのスナップショット ストレージが課金対象となります。「スナップショット ストレージ コスト」を参照してください。

スナップショットを使用する場合​

スナップショットは、定期的なバックアップや、スキーマの変更やその他の潜在的に破壊的な操作を行う前に役立ちます。必要に応じて復元できる復元ポイントをすばやく作成する方法を提供します。

スナップショットを手動で作成する​

スナップショットは、ある時点でのブランチの状態をキャプチャします。スナップショットはルート ブランチにのみ手動で作成できます。手動スナップショットはプロジェクトごとに 10 個に制限されています (プロジェクトの制限を参照)。プロジェクト内のどのブランチからでもこれらのスナップショットに復元できます。

スナップショットを作成する​

スナップショットは即座に作成されるため、スキーマやデータに大きな変更を加える前に役立ちます。

Lakebase アプリでプロジェクトに移動し、branch ナビゲーションで Backup & Restore を選択します。[ スナップショットの作成 ] をクリックして、データの現在の状態をキャプチャします。

サンプルSQLがプリロードされたSQLエディタ

バックアップスケジュールを作成する​

自動スナップショットを定期的に(毎日、毎週、毎月)実行するようにスケジュール設定し、手動による介入なしで一貫したバックアップを確保します。バックアップ スケジュールはブランチごとに構成され、ルート ブランチにのみ適用されます。手動スナップショットの制限 (プロジェクトの制限を参照) は、スケジュールされたスナップショットには適用されません。

各ルートBranchには、ケイデンスのリストを保持する単一のバックアップスケジュールがあります。スケジュールを読み取り、そのケイデンスをその場で置き換えます。個別の作成または削除操作はなく、空のリストを設定すると自動スナップショットが無効になります。Lakebase アプリでスケジュールを設定するか、Python SDK、Java SDK、Databricks CLI、Terraform、Databricks Asset Bundles、または curl のバックアップスケジュール API を使用してプログラムで設定します。

注記

バックアップスケジュールのプログラムによるアクセスはベータ版であり、すべての Lakebase ワークスペースで利用可能です。

バックアップ スケジュールを作成または変更するには:

  1. プロジェクトの 「バックアップと復元」 ページで、 「スケジュールの編集」 をクリックして、バックアップ スケジュール構成ダイアログを開きます。

    バックアップスケジュールの編集ボタン

  2. 次のオプションからスケジュールの頻度を選択します。

    • スケジュールなし – 自動スナップショットを無効にします(デフォルト)
    • 毎日 – 毎日指定された時間にスナップショットを作成します
    • 毎週 – 特定の曜日にスナップショットを作成します
    • 月次 – 月の特定の日にスナップショットを作成します

    バックアップスケジュールの頻度オプション

  3. 選択した頻度に基づいてスケジュールの詳細を構成します。スナップショットを作成する頻度とスナップショットを保持する期間を指定します。

設定が完了すると、スケジュールによって作成されたスナップショットが、自動的に作成されたことを示すラベルとともに 「バックアップと復元」 ページに表示されます。

周期と保持期間のリファレンス​

スケジュールの各周期は、UTCの正時に取得される以下のいずれかの繰り返しです。分と秒はサポートされていません。

  • Daily : hour(0~23)を設定します。
  • 毎週 :day_of_week(MONDAY~SUNDAY)およびhour(0~23)を設定します。
  • 毎月 : day (1~31、短い月は月末に丸められます) と hour (0~23) を設定します。

各周期では retention の期間も設定され、その期間が過ぎるとスナップショットの有効期限が切れます:

  • 保持期間は 1 時間以上、最大 35 日間に設定する必要があります。
  • 保持期間はスナップショットの取得時に適用され、遡及的には適用されません。既存のスナップショットは、元の有効期限を維持します。変更後に取得されたスナップショットのみが、新しい保持期間を使用します。
  • 同じウィンドウ内で複数の周期が予定されている場合、Lakebaseは単一のスナップショットを作成し、一致する周期の中で最も長い保持期間のものを保持します。

スケジュールの読み取りと更新のどちらにも、プロジェクトに対する CAN_USE 権限が必要です。

スナップショットの保持​

スナップショットは、保持期間が終了すると自動的に削除されます。スケジュールを編集することで、いつでも保持設定を調整できます。留意点:

  • 保持期間を短くすると、スケジュールされたスナップショットがいくつ保持されるかを管理するのに役立ちます。
  • 削除されたスナップショットは復元できません
  • 手動スナップショットはバックアップスケジュールの保持設定の影響を受けません

スナップショットの取得と一覧表示​

Lakebaseアプリの Backup & Restore ページでスナップショットを表示するか、APIを使用してプログラムで取得します。

スナップショットの一覧表示​

Lakebaseアプリの Backup & Restore ページでは、スナップショットが日付順に一覧表示され、各スナップショットの日付とサイズが表示されます。スケジュールされたスナップショットは、自動的に作成されたことを示すラベルとともに同じリストに表示されます。

単一のスナップショットを取得する​

IDを指定して1つのスナップショットの詳細を取得します。作成や削除とは異なり、getはSnapshotリソースを直接返します(長期にわたるオペレーションではありません)。読み取り時、有効期限はexpire_timeまたはno_expiryとして報告されます。

Python
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

snapshot = w.postgres.get_snapshot(name="projects/my-project/snapshots/my-snapshot")

print(f"Snapshot: {snapshot.name}")
print(f"Source branch: {snapshot.status.source_branch}")
print(f"Full size: {snapshot.status.full_size_bytes} bytes")

スナップショットからの復元​

スナップショットを使用するには、そこから新しいBranchを作成してリストアします。インプレース リストアはありません。現在のBranchは変更されないままで、スナップショット データを使用して 新しいルート Branch が作成されます。

Lakebase アプリの「バックアップと復元」ページで、スナップショットが日付順に一覧表示されます。復元したいスナップショットを探し、 復元 をクリックします。確認ダイアログが表示され、何が行われるかが説明されます。復元は即座に実行され、現在のブランチは変更されず、branch_from_snapshot_ の後にスナップショットの日時が続くような名前で新しいブランチが作成されます。 復元 をクリックして、操作を実行することを確認します。 スナップショットデータで新規ルートブランチが作成されます。 現在のブランチは変更されません。

復元が完了すると、成功メッセージと新しいブランチの ブランチ概要 ページが表示されます。 「新しいブランチに接続して復元されたデータをプレビューする」 というセクションでは、アプリケーションまたはクライアントから接続して復元されたデータを検証できることについて説明しています。

スナップショットから復元した後のブランチの概要

[接続の詳細を取得] をクリックすると、新しいブランチの接続情報 (ブランチ、コンピュート、データベース、ロール、およびコピーできる接続文字列) を含むダイアログが開きます。 ブランチのコンピュートは、開始時に「保留中」と表示される場合があります。 アクティブになると、接続文字列を使用して接続できるようになります。

新しいブランチで実行できるその他の操作:

  • データをプレビューします。 アプリケーション構成を変更する前に、新しいブランチの接続詳細を使用してデータを確認し、復元を確認します。「データベースへの接続」を参照してください。
  • ブランチの名前を変更します。 ブランチの概要またはブランチ リストから、ブランチにわかりやすい名前を付けます。「ブランチ設定の更新」を参照してください。
  • デフォルトとして設定します。 復元されたデータに満足したら、このブランチをプロジェクトのデフォルト ブランチにすることができます。「デフォルトとして設定」を参照してください。
  • アプリケーションを新しいブランチにポイントします。 データが正しいことを確認したら、このブランチの接続詳細を使用するようにアプリケーションの接続設定を更新します。
  • 以前のブランチを削除するか保持します。 以前使用していたブランチが不要になった場合は削除するか、バックアップとして保持することができます。「ブランチの削除」を参照してください。

新しいブランチとすべてのプロジェクト ブランチはプロジェクトの [ブランチ] ページから管理できます。復元されたブランチは、他のブランチと並んでルート ブランチとして表示されます。

スナップショットの削除​

削除されたスナップショットは復元できません。

Lakebase アプリの Backup & Restore ページで、リストからスナップショットを見つけ、その ケバブメニューアイコン。 ケバブメニューを開いて Delete snapshot を選択します。

スナップショットのストレージコスト​

2026年6月1日より、Lakebaseのスナップショットストレージは課金対象となります。

請求はスナップショットの種類に基づきます:

  • 手動スナップショットはフルスナップショットとして請求されます。
  • スケジュールされたスナップショットは、スケジュールの最初のスナップショットではフルスナップショットとして、それ以降のスケジュールされたスナップショットでは増分(デルタ)ストレージとして課金されます。

各スナップショットのサイズは、「バックアップと復元」ページに表示されます。価格の詳細については、Lakebase 価格ページを参照してください。

制限事項​

スナップショットAPIには次の制限事項があります:

  • スナップショットは不変です。 更新オペレーションはありません。ソース Branch、ポイントインタイムセレクター、有効期限は作成時に固定され、変更できません。
  • インプレース復元はできません。 スナップショットから新しいBranchを作成することによってのみ、スナップショットを復元できます。
  • 同じプロジェクトで利用可能なスナップショット。 ソーススナップショットはAVAILABLE状態で、新しいBranchと同じプロジェクトに属している必要があります。
  • 相互に排他的なリストア フィールド。 Branch作成リクエストでは、source_snapshot を source_branch、Branchの LSN、またはBranchの Timestampと組み合わせることはできません。replace_existing と組み合わせて、既存のターゲット Branchにアップサートできます。
  • Terraform. プロバイダーは、databricks_postgres_branch の source_snapshot 引数を介したスナップショットからのリストアのみをサポートしています。スナップショットの作成、一覧表示、または削除を行うための Terraform リソースはありません。
  • ベータ版の可用性 スナップショットAPIはベータ版であり、すべてのLakebaseワークスペースで使用できます。

関連​

  • Branches — Lakebase におけるブランチの仕組み
  • Lakebase APIガイド — 認証、リソースの命名、および長期にわたるオペレーション