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

Data Unloading

データのエクスポート

Alibaba Cloud OSSのバックアップと復元

StarRocksは、alicloud OSS / AWS S3(またはS3プロトコルに互換性のあるオブジェクトストレージ)へのデータバックアップをサポートしています。DB1クラスタとDB2クラスタの2つのStarRocksクラスタがあるとします。DB1のデータをalicloud OSSにバックアップし、必要に応じてDB2に復元する必要があります。バックアップおよび復元の一般的な手順は次のとおりです。

クラウドリポジトリの作成

それぞれDB1とDB2でSQLを実行します:

CREATE REPOSITORY `リポジトリ名`
WITH BROKER `ブローカー名`
ON LOCATION "oss://バケット名/パス"
PROPERTIES
(
"fs.oss.accessKeyId" = "xxx",
"fs.oss.accessKeySecret" = "yyy",
"fs.oss.endpoint" = "oss-cn-beijing.aliyuncs.com"
);

a. DB1とDB2の両方を作成する必要があります。作成したREPOSITORY名は同じである必要があります。リポジトリを表示します。

SHOW REPOSITORIES;

b. broker_nameにはクラスタ内のブローカー名を入力する必要があります。BrokerNameを表示します。

SHOW BROKER;

c. fs.oss.endpointの後のパスにはバケット名が必要ありません。

データテーブルのバックアップ

DB1でバックアップを行いたいテーブルをクラウドリポジトリにバックアップします。DB1で以下のSQLを実行します。

BACKUP SNAPSHOT [db_name].{snapshot_name}
TO `repository_name`
ON (
`table_name` [PARTITION (`p1`, ...)],
...
)
PROPERTIES ("key"="value", ...);
PROPERTIESは現在次のプロパティをサポートしています:
"type" = "full":これはフルアップデートであることを示します(デフォルト)。
"timeout" = "3600":タスクのタイムアウトです。デフォルトは1日です。単位は秒です。

StarRocksは現在フルデータベースのバックアップをサポートしていません。バックアップするテーブルまたはパーティションをON (...)で指定する必要があり、これらのテーブルまたはパーティションは並列でバックアップされます。

バックアップタスクの進行状況を表示します(同時に1つのバックアップタスクのみが実行できることに注意してください)。

SHOW BACKUP FROM db_name;

バックアップが完了したら、OSSにバックアップデータが既に存在するかどうかを確認できます(OSSで不必要なバックアップを削除する必要があります)。

SHOW SNAPSHOT ON OSS repository_name;

データの復元

DB2でデータを復元する場合、復元するためのテーブル構造をDB2で作成する必要はありません。復元操作中に自動的に作成されます。復元のSQLを実行します。

RESTORE SNAPSHOT [db_name].{snapshot_name}
FROM repository_name
ON (
'table_name' [PARTITION ('p1', ...)] [AS 'tbl_alias'],
...
)
PROPERTIES ("key"="value", ...);

復元の進行状況を表示します。

SHOW RESTORE;