はじめに

本番環境から開発環境やDR環境などに、Verticaのデータを移行したいケースがあると思います。Verticaが提供しているデータの移行方法には、幾つかあります。本稿では、各データ移行方法と、そのメリットとデメリットをご紹介します。

メリットとデメリット

各データ移行方法およびメリットとデメリットは、以下のとおりです。移行方法の詳細は、参考情報もあわせてご覧ください。

移行方法メリットデメリット参考情報
vbr --task copycluster・DDLとデータの移行が容易で高速
・DB全体のコピーが可能
・自動的に差分データを把握し効率的にデータ移行
・DB名、DBバージョン(*1)、ノード名、ノード数、ディレクトリ構成などソース側とターゲット側を合わせる必要がある
・ターゲット側のVerticaサービスを停止(Down)する必要がある
Verticaデータベースのコピー
Copying the Database to Another Cluster
vbr --task replicate・DDLとデータの移行が容易で高速
・オブジェクト毎のコピーが可能
・自動的に差分データを把握し効率的にデータ移行
・DB名、DBバージョン(*2)、ノード名、ノード数、ディレクトリ構成などソース側とターゲット側を合わせる必要がある※注1
・ターゲット側のVerticaサービスを停止(Down)する必要がある
別Vertica環境にデータを複製する方法(vbrの活用)
Replicating Objects to an Alternate Cluster
vbr.py --task backup ・DDLとデータの移行が容易で高速
・DB全体のコピーが可能
・自動的に差分データを把握し効率的にデータ転送
・DB名、DBバージョン(*2)、ノード名、ノード数、ディレクトリ構成などソース側とターゲット側を合わせる必要がある
・ファイル出力したデータを一時保管するストレージが必要(フルバックアップを取得するためサイズが大きくなる)
Verticaのバックアップ方法
Creating backups
バックアップを指定してリストアする方法
Restoring backups
EXPORT TO VERTICA
/COPY FROM VERTICA
・DB名、DBバージョン(*3)、ノード名、ノード数、ディレクトリ構成などが異なってもデータ移行が可能
・データの移行が高速
・事前にターゲット側にテーブルを作成しておく必要がある
・ユーザ、ロール、グラント、UDxなどのオブジェクト設定は手動で作成する必要ある
異なるクラスタのテーブルにデータをコピーする方法(EXPORT TO VERTICA)
EXPORT TO VERTICA
特定テーブルのデータを別環境のVerticaに直接コピーする方法
COPY FROM VERTICA
DDLとデータ出力(CSV/Parquet形式)後に、オブジェクト作成とデータロード・DB名、DBバージョン、ノード名、ノード数、ディレクトリ構成などが異なってもデータ移行が可能・事前にターゲット側にテーブルを作成しておく必要がある
・ユーザ、ロール、グラント、UDxなどのオブジェクト設定は手動で作成する必要がある
・差分データのロードや更新方法を検討する必要がある
・ファイル出力したデータを一時保管するストレージが必要となる(段階的に移行することで最小化することは可能)
Verticaで既存環境のテーブルのDDLとデータを一括で抽出する方法
CSVデータのロード方法
COPY

(*1)vbr –task copycluster
ソースDBはターゲットDBに対して、「同一のHotFixバージョンのみ」をサポートします。

ターゲットDB
12.0.4-2823.3.0-024.2.0-124.2.0-224.2.0-324.3.0-0
ソースDB12.0.4-28
23.3.0-0
24.2.0-1
24.2.0-2
24.2.0-3
24.3.0-0

(*2)vbr –task replicate/vbr.py –task backup
ソースDBはターゲットDBに対して、「同一のHotFixバージョン ~ 1つ上のマイナーバージョンまで」をサポートします。

ターゲットDB
12.0.4-28 23.3.0-523.4.0-12 24.1.0-024.2.0-3 24.3.0-1
ソースDB12.0.4-28
23.3.0-5
23.4.0-12
24.1.0-0
24.2.0-3
24.3.0-1

(*3)EXPORT TO VERTICA/COPY FROM VERTICA
ソースDBはターゲットDBに対して、「同一のHotFixバージョン ~ 1つ上のメジャーバージョンまで」をサポートします。

ターゲットDB
12.0.4-28 23.3.0-523.4.0-12 24.1.0-024.2.0-3 24.3.0-1
ソースDB12.0.4-28
23.3.0-5
23.4.0-12
24.1.0-0
24.2.0-3
24.3.0-1

参考情報

Verticaのバージョン番号(Vertica 12.0以前)
Verticaのバージョン番号(Vertica 23.3以降)

検証バージョンについて

この記事の内容はVertica 24.3で確認しています。

更新履歴

2024/09/03 データ移行方法に関して対応バージョンの注釈を追加
2024/07/03 「バックアップ機能」の項目を追加
          「メリット・デメリット」の項目を修正
2023/08/16 「EXPORT TO VERTICA/COPY FROM VERTICA」のメリットとデメリットを修正
2020/08/06 本記事を公開