データ移行は、日常的な運用保守作業において一般的な操作であり、クラスタの負荷調整やデータセンター移転に不可欠な作業です。OceanBaseデータベースでは、クラスタ内やテーブル間のデータアーカイブ、ディスク使用率の均衡化、リソースユニットの移動などの操作は簡単なコマンドで迅速に開始できますが、異種データソースやクラスタ間のデータ同期などの機能を利用する場合は、外部ツールを利用する必要があります。
本記事では、主にいくつかの一般的なデータ移行方法とツールについて説明します。
適用シナリオ
データ移行はデータベース運用保守における一般的な操作であり、主な適用シナリオは以下の通りです:
- クラスタの負荷調整やデータセンター移転。
- ファイルへのデータエクスポート、ファイルからのデータインポート。
- データベースの置換。
- データベースの論理レプリケーション、読み書き分離、データベースの災害復旧、ビジネスのアクティブ/アクティブなど。
- ビジネス上のデータ複製ニーズ。
移行プラン
OceanBaseデータベースは、豊富なデータ移行・複製方法を提供しており、以下が含まれます:
OMSを使用した移行(推奨)
obloader & obdumperを使用した移行
- obloaderを使用したデータのインポート
- obdumperを使用したデータのエクスポート
SQLスクリプトを使用した移行
MyDumperを使用した移行
DataXを使用した移行
OUTFILEステートメントを使用した移行
DBCATを使用した移行
説明
OceanBaseデータベースのテナントデータ移行は、バックアップ・リカバリ機能を使用して実現することもできます。OceanBaseデータベースのバックアップ・リカバリ機能の詳細については、物理バックアップとリカバリの概要を参照してください。
具体的な移行プランのサポート状況は以下の通りです:
| 移行プラン | 構造移行 | フルデータ移行 | 増分データ移行 | データ検証 | 対応データソース |
|---|---|---|---|---|---|
| OMS | サポート | サポート | サポート | サポート | OceanBase MySQL Oracle PostgreSQL DB2 LUW TiDB Kafka RocketMQ DataHub |
| obloader & obdumper | サポート | サポート | サポートなし | サポートなし | OceanBase |
| SQLスクリプト移行 | サポート | サポート | サポートなし | サポートなし | 主要なデータベースですが、インスタンス間でのデータ移行はできません |
| MyDumper | サポート | サポート | サポートなし | サポートなし | MySQL互換データソース |
| DataX | サポートなし | サポート | サポートなし | サポートなし | 多岐にわたります。詳細は公式ドキュメントを参照してください |
| OUTFILEステートメント | サポートなし | サポート | サポートなし | サポートなし | MySQL OceanBase |
| DBCAT | サポート | サポートなし | サポートなし | サポートなし | 多岐にわたります。詳細は公式ドキュメントを参照してください |