本記事では、OMS、obloader、および Flinkなどのエコシステムツール を使用して、OceanBaseにデータを移行する場合(またはOceanBaseのテナント間、他のデータベースへの移行)の選定とドキュメントの入口について説明します。異種シナリオでは、スキーマと型のマッピング、並列とバッチ戦略、および切り替え後のデータ検証に注意が必要です。データウェアハウスやファイルと連携する場合は、形式変換とメタデータの整合性にも注意が必要です。
OMSを使用したOceanBaseへのデータ移行
OMS(OceanBase Migration Service)は、構造移行、フル移行から増分移行までの統合オーケストレーションを提供し、多様なリレーショナルソースデータベースとOceanBaseテナントタイプの組み合わせをサポートしています。また、タスクの監視と切り替え機能を備えており、エンタープライズレベルのデータベース移行や長期的な同期プロジェクトに適しています。
説明 |
リンク |
|---|---|
| OMS製品ドキュメント | OMS使用ドキュメント |
他のデータベースからOceanBaseへの移行
ソース |
ドキュメント |
|---|---|
| MySQL → OceanBase(MySQL互換テナント) | OMSを使用したMySQLデータベースからOceanBaseデータベースへのデータ移行(MySQL互換モードテナント) |
| Oracle → OceanBase(MySQL互換テナント) | OMSを使用したOracleデータベースからOceanBaseデータベースへのデータ移行(MySQL互換モードテナント) |
| Oracle → OceanBase(Oracle互換テナント) | OMSを使用したOracleデータベースからOceanBaseデータベースへのデータ移行(Oracle互換モードテナント) |
| PostgreSQL → OceanBase(MySQL互換テナント) | OMSを使用したPostgreSQLデータベースからOceanBaseデータベースへのデータ移行(MySQL互換モードテナント) |
| DB2 LUW → OceanBase(MySQL互換テナント) | OMSを使用したDB2 LUWデータベースからOceanBaseデータベースへのデータ移行(MySQL互換モードテナント) |
| DB2 LUW → OceanBase(Oracle互換テナント) | OMSを使用したDB2 LUWデータベースからOceanBaseデータベースへのデータ移行(Oracle互換モードテナント) |
| TiDB → OceanBase(MySQL互換テナント) | OMSを使用したTiDBデータベースからOceanBaseデータベースへのデータ移行(MySQL互換モードテナント) |
OceanBaseクラスタ/テナント間(OMS)
シナリオ |
ドキュメント |
|---|---|
| 同一タイプのテナント間移行 | OMSを使用したOceanBaseデータベースから同一タイプのOceanBaseデータベーステナントへのデータ移行 |
| 同一タイプのテナントの災害復旧デュアルアクティブ | OMSを使用したOceanBaseデータベース同一タイプテナントの災害復旧デュアルアクティブプロジェクトの作成 |
データソースが大規模な場合(OMS Community Edition)
ソース |
ドキュメント |
|---|---|
| Hive | OMS Community Editionを使用したHiveデータの移行 |
| HBase | OMS Community Editionを使用したHBaseデータの移行 |
obloaderを使用したOceanBaseへのデータ移行
obloaderは ファイルインポート に適しています。CSV、Parquet、ORC、SQLなどのファイルをローカルディスク、オブジェクトストレージ、またはHDFSからOceanBaseに一括書き込むことができます。ダイレクトロード と組み合わせることでスループットを向上させることができます。典型的には、オフラインでファイルのエクスポートが完了しており、インポートツールがファイルを読み取り、形式を解析してOceanBaseに書き込む必要があるシナリオで使用されます。データファイルがOBServerとネットワークで隔離されている場合でも、obloaderによるデータインポートが可能です。
シナリオ |
ドキュメント |
|---|---|
| obloader製品ドキュメント | obloader使用ドキュメント |
| Hiveからの移行 | obloaderを使用したHiveデータの移行 |
| ORC / Parquet / CSVファイル | obloaderを使用したORC/Parquet/CSVファイルの移行 |
| OceanBaseテナント間(データ導入ツール) | 下表参照 |
OceanBaseデータ導入ツールを使用したOceanBaseテナント間データの移行
シナリオ |
ドキュメント |
|---|---|
| MySQL互換テナント間 | OceanBaseデータ移行ツールを使用したOceanBaseクラスタのMySQL互換モードテナント間でのデータ移行 |
| MySQL互換テナントからOracle互換テナントへ | OceanBaseデータ移行ツールを使用したOceanBaseクラスタのMySQL互換モードテナントからOracle互換モードテナントへのデータ移行 |
| Oracle互換テナント間 | OceanBaseデータ移行ツールを使用したOceanBaseクラスタのOracle互換モードテナント間でのデータ移行 |
| Oracle互換テナントからMySQL互換テナントへ | OceanBaseデータ移行ツールを使用したOceanBaseクラスタのOracle互換モードテナントからMySQL互換モードテナントへのデータ移行 |
| ダイレクトロードモード(RPC、ネットワーク分離など) | obloaderを使用したデータのインポート |
エコシステムツールを使用したOceanBaseへのデータ移行
MySQLからOceanBaseへの移行
OracleからOceanBaseへの移行
ツール |
ドキュメント |
|---|---|
| DBCAT | DBCATを使用したOracleデータベースからOceanBaseデータベースへのデータ移行 |
| DataX | DataXを使用したOracleデータベースからOceanBaseデータベースへのデータ移行 |
DB2 LUWからOceanBaseへの移行
ツール |
ドキュメント |
|---|---|
| DBCAT(テーブル構造) | DBCATを使用したDB2 LUWのテーブル構造からOceanBaseデータベースへのデータ移行 |
SparkとFlink関連
シナリオ |
ドキュメント |
|---|---|
| SparkによるOceanBaseの読み書き | OceanBase Spark Connector |
| StarRocks(上流RDSとの不一致、Flink処理など) | Flink-OMTを使用したStarRocksデータの移行 |