CloudCanalは、データ移行同期ツールであり、企業が高品質なデータ流通チャネルを迅速に構築するためのサービスです。SaaSモードとプライベートエクスポート専用モードが含まれています。開発チームの主要メンバーは大手企業出身で、データベースカーネル、大規模分散システム、クラウド製品構築の経験を持ち、データベース、分散技術、クラウド製品のビジネスおよびサービスモデルに精通しています。
本記事では、CloudCanal Community Edition v2.2.5.36を使用して、MySQLデータベースからターゲットのOceanBaseデータベースのMySQLモードへデータを同期する方法について説明します。
適用対象
- CloudCanal Community Editionは、v2.2.0.7以降のバージョンから、MySQLデータベースからOceanBaseデータベースのMySQLモードへのデータ移行をサポートしています。詳細については、v2.2.0.7を参照してください。
- CloudCanalは現在、ソースデータベースとしてMySQLデータベースV5.6以降のバージョンのみをサポートしています。
前提条件
CloudCanal Community Editionの新規インストール(Linux/MacOS)を参照して、CloudCanal Community Editionのインストールとデプロイを完了し、無料ライセンスを申請して有効化しておく必要があります。
データ移行の手順
- データソースを追加します。
- ジョブを作成します。
- ジョブを確認します。
データソースの追加
CloudCanalプラットフォームにログインします。
データソース管理画面に移動し、「データソースの追加」をクリックします。
新規データソースページで、データソース情報を入力します。
デプロイメントタイプ:オンプレミスデータベースとAlibaba Cloudがあります。
- Alibaba Cloud:ユーザーがAlibaba Cloud上で購入したデータベースインスタンス。
- オンプレミスデータベース:ユーザー自身がデプロイしたデータベースインスタンス。
データベースタイプ:データソースのタイプを選択します。
新しくMySQLとOceanBaseの2つのデータソースを追加し、それぞれ同期のソースデータベースとターゲットデータベースとして設定します:
オンプレミスデータベースからMySQLを選択し、自分がデプロイしたMySQLデータベースインスタンスを追加します。
MySQLデータソースの設定:
- ネットワークアドレス:MySQLデータベースのIPアドレスを入力します。
- 認証方式:アカウントパスワード、アカウントパスワードあり、アカウントパスワードなしの3種類があります。デフォルトはアカウントパスワード方式です。
- アカウント:MySQLデータベースに接続するためのユーザー名。
- パスワード:MySQLデータベースに接続するためのユーザー名に対応するパスワード。
- 説明:オプション項目で、覚えやすい名前を記述し、使用時の識別を容易にします。例えば、取引データベース、ユーザーデータベース、テストデータベースなどです。
オンプレミスデータベースからOceanBaseを選択し、自分がデプロイしたOceanBaseデータベースインスタンスを追加します。
OceanBaseデータソースの設定:
- ネットワークアドレス:OceanBaseデータベースに接続するためのIPアドレスを入力します。直接接続またはODP経由で接続します。
- oblogproxy host:OceanBase BinlogサービスのIPアドレス。OceanBaseデータベースがソースデータベースとして増分同期する場合は、このフィールドは空にできません。OceanBaseデータベースがターゲットデータベースの場合は、空にすることができます。OceanBase Binlogサービスの詳細については、OceanBase Binlogサービスを参照してください。
- OceanBaseRpcPort:OceanBase Rpcポート。デフォルトは2882です。
- 認証方式:それぞれアカウントパスワード、アカウントパスワードあり、アカウントパスワードなしです。デフォルトはアカウントパスワードです。
- アカウント:OceanBaseデータベースに接続するためのユーザー名。直接接続形式:ユーザー名@テナント名。ODP接続形式:ユーザー名@テナント名#クラスタ名。
- パスワード:OceanBaseデータベースに接続するためのユーザー名に対応するパスワード。
- 説明:オプション項目で、覚えやすい名前を記述し、使用時の識別を容易にします。例えば、取引データベース、ユーザーデータベース、テストデータベースなどです。
新しく追加した2つのデータソースを確認します。
タスクの作成
データソースを追加した後、以下の手順に従ってデータのフルマイグレーション、増分同期、および構造マイグレーションを実行できます。
タスク管理 -> タスクの作成。
ソースデータベースとターゲットデータベースの設定。
タスク実行クラスタ を選択すると、タスクはバインドされたクラスタのマシン上で実行されるようスケジュールされます。Community Editionではデプロイが完了すると、デフォルトの実行クラスタが作成されます。
ソースデータベースとしてMySQL、ターゲットデータベースとしてOceanBaseを選択し、接続テスト をクリックします。
移行同期または検証対象のデータベース を選択し、データベースのマッピング関係を指定します。
設定完了後、次へ をクリックします。
機能の設定。
増分同期 機能を選択すると、初回はテーブルのフル同期が行われ、その後はBinlogを消費して増分データを同期します。
タスクタイプには以下の機能があります:
- フルマイグレーション:データの移行を主とし、データの完全な移転や短期間の増分同期タスクに適しています。
- 増分同期:デフォルトのオプションで、デフォルトで フル初期化 が含まれています。データの同期を主とし、長期間の増分同期タスクに適しています。
- データ検証:ソース側とターゲット側のデータを比較し、一度または定期的に複数回データ移行の正確性を検証します。Community Editionではこの機能はサポートされていません。
- 構造マイグレーション:選択したデータベース、テーブルに基づいて、対応するデータベース、テーブルを自動的に作成します。
- データ訂正版:ソース側とターゲット側のデータを比較し、不一致なデータを自動的にソース側と同じ値に上書きします。Community Editionではこの機能はサポートされていません。
タスク仕様:デフォルトで バランス型 、2G の仕様で十分です。
設定完了後、次へ をクリックします。
テーブル & アクションのフィルタリング。
同期するテーブルを選択します。ターゲットデータベースの
UPDATEおよびDELETE操作がソースデータベースと一致していることを確認し、ソースデータベースのテーブルに主キーまたは一意制約が存在する必要があります。設定完了後、次へ をクリックします。
データ処理。
同期する列をテーブルから選択します。
設定完了後、次へ をクリックします。
タスク作成の確認。
最後に、作成内容に誤りがないことを確認し、作成を確認します。
タスクの状態を確認する
タスクの作成が成功すると、デフォルトで構造移行、フル移行、増分同期が実行され、進捗バーが徐々に変化します。CloudCanalタスク管理コンソールに戻り、ページをリフレッシュしてタスクのリアルタイム状態を確認します。これには、構造移行、データ初期化、データ同期が含まれます。
関連ドキュメント
CloudCanalの詳細については、CloudCanal公式ドキュメントを参照してください。