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以降のバージョンのみをサポートしています。
前提条件
クリーンインストール(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 BinglogサービスのIPアドレス。OceanBaseデータベースがソースデータベースとして増分同期する場合は必須です。OceanBaseデータベースがターゲットデータベースの場合は空でも構いません。OceanBase Binlogサービスの詳細については、OceanBase Binlogサービスを参照してください。
- OceanBaseRpcPort:OceanBase Rpcポート。デフォルトは2882です。
- 認証方式:アカウントとパスワード、アカウントとパスワード、アカウントなしがあります。デフォルトはアカウントとパスワードです。
- アカウント:OceanBaseデータベースに接続するためのユーザー名。直接接続形式:ユーザー名@テナント名。ODP接続形式:ユーザー名@テナント名#クラスタ名。
- パスワード:OceanBaseデータベースに接続するためのユーザー名に対応するパスワード。
- 説明:任意項目です。覚えやすく、使用時の識別に役立つようなメモ(例:取引データベース、ユーザーデータベース、テストデータベースなど)を入力します。
新規に追加された2つのデータソースを確認します。
タスクの作成
データソースの追加が完了したら、以下の手順に従ってデータのフル移行、増分同期、構造移行を実行できます。
タスク管理 -> タスクの作成。
ソースデータベースとターゲットデータベースの設定。
タスク実行クラスタを選択します。タスクはバインドされたクラスタ内のマシンにスケジュールされて実行されます。コミュニティエディションのデプロイが完了すると、デフォルトの実行クラスタが存在します。
ソースデータベースMySQLとターゲットデータベースOceanBaseを選択し、接続テストをクリックします。
移行同期または検証するデータベースを選択し、データベースのマッピング関係を指定します。
設定が完了したら、次へをクリックします。
機能の設定。
増分同期機能を選択します。初回はテーブルのチェックからフル同期が行われ、その後binlogを消費してデータを増分同期します。
タスクタイプには以下の機能があります:
- フル移行:データ移行を主とし、データの完全移行や短期間の増分同期タスクに適しています。
- 増分同期:デフォルトのオプションで、デフォルトでフル初期化が含まれます。データ同期を主とし、長期間の増分同期タスクに適しています。
- データ検証:ソース側とターゲット側のデータを比較し、一度または定期的に複数回データ移行の正確性を検証します。コミュニティエディションはこの機能をサポートしていません。
- 構造移行:選択したデータベース、テーブルに基づいて、対応するデータベース、テーブルを自動的に作成します。
- データ訂正:ソース側とターゲット側のデータを比較し、一致しないデータをソース側と一致するように自動的に上書きします。コミュニティエディションはこの機能をサポートしていません。
タスク仕様:デフォルトのバランス型、2G仕様で十分です。
設定が完了したら、次へをクリックします。
テーブル&actionのフィルタリング。
同期するテーブルを選択します。ターゲットデータベースの
UPDATEおよびDELETE操作がソースデータベースと一致するようにするため、ソースデータベースのテーブルには主キーまたは一意制約が必要です。設定が完了したら、次へをクリックします。
データ処理。
同期するテーブルの列を選択します。
設定が完了したら、次へをクリックします。
タスク作成の確認。
最後のステップとして、作成内容に誤りがないことを確認し、作成を確定します。
タスクの状態を確認する
タスク作成後、デフォルトで構造移行、フル移行、増分同期が実行され、進捗バーが段階的に変化します。CloudCanalのタスク管理コンソールに戻り、画面を更新してタスクのリアルタイム状態を確認します。これには、構造移行、データ初期化からデータ同期までのプロセスが含まれます。
関連ドキュメント
CloudCanalの詳細については、CloudCanal公式ドキュメントを参照してください。