メインコンテンツまでスキップ
バージョン: Stable-3.3

BACKUP

指定されたデータベース、テーブル、またはパーティションのデータをバックアップします。現在、StarRocks は OLAP テーブルのデータのみをバックアップすることをサポートしています。

ヒント

バックアップとリストアの概要については、 backup and restore guide をご覧ください。

BACKUP は非同期操作です。 SHOW BACKUP を使用して BACKUP ジョブのステータスを確認したり、 CANCEL BACKUP を使用して BACKUP ジョブをキャンセルしたりできます。 SHOW SNAPSHOT を使用してスナップショット情報を表示できます。

注意

  • ADMIN 権限を持つユーザーのみがデータをバックアップできます。
  • 各データベースでは、一度に実行できる BACKUP または RESTORE ジョブは 1 つだけです。それ以外の場合、StarRocks はエラーを返します。
  • StarRocks はデータバックアップのためのデータ圧縮アルゴリズムの指定をサポートしていません。

構文

BACKUP SNAPSHOT <db_name>.<snapshot_name>
TO <repository_name>
[ ON ( <table_name> [ PARTITION ( <partition_name> [, ...] ) ]
[, ...] ) ]
[ PROPERTIES ("key"="value" [, ...] ) ]

パラメータ

パラメータ説明
db_nameバックアップするデータを格納するデータベースの名前。
snapshot_nameデータスナップショットの名前を指定します。グローバルに一意です。
repository_nameリポジトリ名。 CREATE REPOSITORY を使用してリポジトリを作成できます。
ONバックアップするテーブルの名前。このパラメータが指定されていない場合、データベース全体がバックアップされます。
PARTITIONバックアップするパーティションの名前。このパラメータが指定されていない場合、テーブル全体がバックアップされます。
PROPERTIESデータスナップショットのプロパティ。有効なキー:type: バックアップタイプ。現在、完全バックアップ FULL のみがサポートされています。デフォルト: FULLtimeout: タスクのタイムアウト。単位: 秒。デフォルト: 86400

例 1: データベース example_db をリポジトリ example_repo にバックアップします。

BACKUP SNAPSHOT example_db.snapshot_label1
TO example_repo
PROPERTIES ("type" = "full");

例 2: example_db のテーブル example_tblexample_repo にバックアップします。

BACKUP SNAPSHOT example_db.snapshot_label2
TO example_repo
ON (example_tbl);

例 3: example_dbexample_tbl のパーティション p1p2 およびテーブル example_tbl2example_repo にバックアップします。

BACKUP SNAPSHOT example_db.snapshot_label3
TO example_repo
ON(
example_tbl PARTITION (p1, p2),
example_tbl2
);

使用上の注意

  • グローバル、データベース、テーブル、およびパーティションレベルでのバックアップおよびリストア操作には、異なる権限が必要です。
  • 各データベースでは、一度に実行できる BACKUP または RESTORE ジョブは 1 つだけです。それ以外の場合、StarRocks はエラーを返します。
  • BACKUP および RESTORE ジョブは StarRocks クラスターの多くのリソースを占有するため、StarRocks クラスターが高負荷でないときにデータをバックアップおよびリストアすることができます。
  • StarRocks はデータバックアップのためのデータ圧縮アルゴリズムの指定をサポートしていません。
  • データはスナップショットとしてバックアップされるため、スナップショット生成時にロードされたデータはスナップショットに含まれません。したがって、スナップショットが生成された後、RESTORE ジョブが完了する前に古いクラスターにデータをロードした場合、データをリストアするクラスターにもデータをロードする必要があります。データ移行が完了した後、一定期間両方のクラスターにデータを並行してロードし、データとサービスの正確性を確認した後、新しいクラスターにアプリケーションを移行することをお勧めします。
  • RESTORE ジョブが完了する前に、リストアするテーブルを操作することはできません。
  • 主キーテーブルは v2.5 より前の StarRocks クラスターにリストアすることはできません。
  • リストアするテーブルを新しいクラスターに事前に作成する必要はありません。RESTORE ジョブが自動的に作成します。
  • リストアするテーブルと同じ名前の既存のテーブルがある場合、StarRocks はまず既存のテーブルのスキーマがリストアするテーブルのスキーマと一致するかどうかを確認します。スキーマが一致する場合、StarRocks はスナップショットのデータで既存のテーブルを上書きします。スキーマが一致しない場合、RESTORE ジョブは失敗します。AS キーワードを使用してリストアするテーブルの名前を変更するか、データをリストアする前に既存のテーブルを削除することができます。
  • RESTORE ジョブが既存のデータベース、テーブル、またはパーティションを上書きする場合、ジョブが COMMIT フェーズに入った後、上書きされたデータはリストアできません。この時点で RESTORE ジョブが失敗したりキャンセルされたりすると、データが破損しアクセスできなくなる可能性があります。この場合、再度 RESTORE 操作を実行し、ジョブが完了するのを待つしかありません。したがって、現在のデータがもはや使用されていないことを確信していない限り、上書きによるデータのリストアはお勧めしません。上書き操作はまずスナップショットと既存のデータベース、テーブル、またはパーティション間のメタデータの一貫性を確認します。不一致が検出された場合、RESTORE 操作は実行できません。
  • 現在、StarRocks はビューのバックアップおよびリストアをサポートしていません。
  • 現在、StarRocks はユーザーアカウント、権限、およびリソースグループに関連する設定データのバックアップおよびリストアをサポートしていません。
  • 現在、StarRocks はテーブル間の Colocate Join 関係のバックアップおよびリストアをサポートしていません。