Data Integration は、MySQL や PostgreSQL などのソースから Doris へのデータベース全体のリアルタイム同期をサポートしています。このトピックでは、MySQL をソース、Doris をターゲットとして、MySQL データベースから Doris にすべてのデータを完全モードと増分モードの両方で同期する方法について説明します。
前提条件
サーバーレスリソースグループまたはデータ統合専用リソースグループを購入済みであること。
MySQL と Doris のデータソースを作成済みであること。 詳細については、「Data Integration のデータソースを作成する」をご参照ください。
リソースグループとデータソース間のネットワーク接続を確立済みであること。 詳細については、「ネットワーク接続ソリューション」をご参照ください。
手順
1. 同期タスクのタイプを選択する
Data Integration ページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[Data Integration へ移動] をクリックします。
左側のナビゲーションウィンドウで [Sync Tasks] をクリックし、ページの上部にある [Create Sync Task] をクリックして同期タスク作成ページに入ります。次の基本情報を設定します。
データソースと宛先:
MySQL→Doris新しいタスク名: 同期タスクのカスタム名。
同期タイプ:
データベース全体のリアルタイム。同期ステップ: [完全同期] と [増分同期] の両方を選択します。
2. ネットワークとリソースを設定する
[ネットワークとリソースの設定] セクションで、同期タスクの [リソースグループ] を選択します。[タスクリソースの使用量] に CU 数を割り当てることができます。
[ソースデータソース] には、追加した
MySQLデータソースを選択します。[ターゲットデータソース] には、追加したDorisデータソースを選択し、[接続性のテスト] をクリックします。
ソースとターゲットの両方のデータソースが正常に接続されたことを確認したら、[次へ] をクリックします。
3. データを同期するテーブルを選択する
このステップでは、[ソーステーブル] リストで同期するテーブルを選択し、
アイコンをクリックして、選択したテーブルを [選択されたテーブル] リストに移動できます。

4. ターゲットに関連する設定を構成する
データを同期するテーブルを選択すると、選択したテーブルが [ターゲットテーブルのマッピングルール] セクションに自動的に表示されます。ターゲットテーブルのプロパティはマッピングを待機しています。ソーステーブルとターゲットテーブル間のマッピングを手動で定義して、データの読み取りと書き込みの関係を決定する必要があります。その後、[アクション] 列の [リフレッシュ] をクリックできます。ソーステーブルとターゲットテーブル間のマッピングを直接リフレッシュできます。ターゲットテーブルに関連する設定を構成した後、ソーステーブルとターゲットテーブル間のマッピングをリフレッシュすることもできます。
同期するテーブルを選択し、[一括リフレッシュマッピング] をクリックできます。マッピングルールが設定されていない場合、デフォルトのテーブル名ルールは
${Source table name}です。同じ名前のテーブルがターゲットに存在しない場合、新しいテーブルが自動的に作成されます。[カスタムターゲットデータベース名マッピング] 列で、[設定] ボタンをクリックして、ターゲットデータベース名ルールをカスタマイズできます。
組み込み変数と指定された文字列を連結して、最終的なターゲットデータベース名を作成できます。組み込み変数を編集できます。たとえば、マッピングルールを作成するときに、ソースデータベース名を示す変数にサフィックスを追加して、ターゲットデータベース名を形成できます。
[カスタムターゲットテーブル名マッピング] 列で、[編集] ボタンをクリックして、ターゲットテーブル名ルールをカスタマイズできます。
組み込み変数と指定された文字列を連結して、ターゲットテーブル名を作成できます。組み込み変数を編集できます。たとえば、マッピングルールを作成するときに、ソーステーブル名を示す変数にサフィックスを追加して、ターゲットテーブル名を形成できます。
a. フィールドのデータ型マッピングを変更する
ソースフィールドのデータ型とターゲットフィールドのデータ型の間には、デフォルトのマッピングが存在します。[ターゲットテーブルのマッピングルール] セクションの右上隅にある [フィールドデータ型のマッピングを編集] をクリックして、ビジネス要件に基づいてソースフィールドとターゲットフィールド間のデータ型マッピングを設定できます。設定が完了したら、[適用してマッピングをリフレッシュ] をクリックします。
b. ターゲットテーブルのスキーマを変更してテーブルにフィールドを追加し、フィールドに値を割り当てる
ターゲットテーブルが [作成予定] の状態である場合、次の手順を実行してテーブルにフィールドを追加し、フィールドに値を割り当てることができます。
1 つまたは複数のターゲットテーブルにフィールドを追加します。
単一の宛先テーブルへのフィールドの追加:フィールドを追加する宛先テーブルを探し、[宛先テーブル名] 列にある
アイコンをクリックします。表示されるダイアログボックスで、フィールドを追加します。一度に複数のターゲットテーブルにフィールドを追加する: 一度にフィールドを追加するターゲットテーブルを選択し、ページの下部にある [一括変更] をクリックしてから、[ターゲットテーブルスキーマ - 一括変更とフィールド追加] をクリックします。
フィールドに値を割り当てます。次のいずれかの操作を実行して、フィールドに値を割り当てることができます。
単一のターゲットテーブルに追加されたフィールドに値を割り当てる: 新しく追加されたフィールドに値を割り当てるターゲットテーブルを見つけ、[値の割り当て] 列の [設定] をクリックします。[追加フィールド] ダイアログボックスで、フィールドに値を割り当てます。
一度に複数のターゲットテーブルに追加されたフィールドに値を割り当てる: 新しく追加されたフィールドに値を割り当てるターゲットテーブルを選択し、ページの下部にある [一括変更] をクリックしてから、[値の割り当て] をクリックして、選択したターゲットテーブルの同じフィールドに一度に値を割り当てます。
説明
アイコンをクリックして値の割り当てメソッドを切り替え、ターゲットテーブルに追加されたフィールドに定数と変数を割り当てることができます。
c. DML 処理ルールを設定する
Data Integration は、デフォルトの DML 処理ルールを提供します。ビジネス要件に基づいて、ターゲットテーブルの DML 処理ルールを設定することもできます。
単一のターゲットテーブルの DML 処理ルールを設定する: DML 処理ルールを設定するターゲットテーブルを見つけ、[DML ルールの設定] 列の [設定] をクリックして、テーブルの DML 処理ルールを設定します。
一度に複数のターゲットテーブルの DML 処理ルールを設定する: DML 処理ルールを設定するターゲットテーブルを選択し、ページの下部にある [一括変更] をクリックしてから、[DML ルールの設定] をクリックします。
4. 高度なパラメーターをカスタマイズする
カスタム同期要件を満たすためにタスクの詳細な設定を行う必要がある場合は、[高度なパラメーターのカスタマイズ] 列の [設定] をクリックして高度なパラメーターを変更できます。
高度なパラメーターの設定を変更する前に、予期しないエラーやデータ品質の問題を防ぐために、パラメーターの意味を理解していることを確認してください。
5. 完全同期を実行するかどうか
同期タスクのタイプを選択する際に [同期ステップ] で [完全同期] を選択した場合、ここで特定のテーブルの完全同期を無効にできます。
5. アラートルールを設定する
同期タスクの失敗がビジネスデータの同期に遅延を引き起こすのを防ぐために、同期タスクに異なるアラートルールを設定できます。
ページの右上隅にある [アラートルールの設定] をクリックして、[アラートルールの設定] パネルに移動します。
[アラートルールの設定] パネルで、[アラートルールの追加] をクリックします。[アラートルールの追加] ダイアログボックスで、パラメーターを設定してアラートルールを構成します。
説明このステップで設定したアラートルールは、同期タスクによって生成されるリアルタイム同期サブタスクに対して有効になります。同期タスクの設定が完了したら、「リアルタイム同期タスクの管理」をご参照のうえ、リアルタイム同期タスクページに移動し、リアルタイム同期サブタスクに設定されたアラートルールを変更できます。
アラートルールを管理します。
作成されたアラートルールを有効または無効にできます。アラートの重大度レベルに基づいて、異なるアラート受信者を指定することもできます。
6. 高度なパラメーターを設定する
ビジネス要件に基づいて、同期タスクに設定された特定のパラメーターの値を変更できます。たとえば、[最大読み取り接続数] パラメーターに適切な値を指定して、現在の同期タスクがソースデータベースに過度の圧力をかけ、データ生成に影響が及ぶのを防ぐことができます。
予期しないエラーやデータ品質の問題を防ぐために、パラメーターの値を変更する前に、パラメーターの意味を理解しておくことをお勧めします。
設定ページの右上隅にある [高度なパラメーターの設定] をクリックします。
[高度なパラメーターの設定] パネルで、目的のパラメーターの値を変更します。
7. DDL 処理ルールを設定する
DDL 操作はソースで実行される場合があります。ページの右上隅にある [DDL 機能の設定] をクリックして、ビジネス要件に基づいてソースからの DDL メッセージを処理するルールを設定できます。
詳細については、「DDL メッセージを処理するルールを設定する」をご参照ください。
8. リソースグループの表示と変更
ページの右上隅にある [リソースグループの設定] をクリックして、現在の同期タスクの実行に使用されるリソースグループを表示および変更できます。
9. 同期タスクを実行する
同期タスクの設定が完了したら、ページの下部にある [完了] をクリックします。
[Data Integration] ページの [ノード] セクションで、作成した同期タスクを見つけ、[アクション] 列の [開始] をクリックします。
[タスク] セクションで同期タスクの [名前または ID] をクリックし、同期タスクの詳細な実行プロセスを表示します。
同期タスクの O&M 操作を実行する
同期タスクのステータスを表示する
同期タスクを作成した後、同期タスクページで作成された同期タスクのリストと各同期タスクの基本情報を表示できます。
[操作] 列で同期タスクを [開始] または [停止] できます。[その他] では、同期タスクの [編集]、[表示]、およびその他の操作を実行できます。
開始されたタスクについては、[実行概要] でタスク実行の基本ステータスを確認したり、対応する概要エリアをクリックして実行詳細を表示したりできます。

MySQL データベース全体の Doris へのリアルタイム同期タスクは、次の 3 つのステップで構成されます。
スキーマ移行: このタブには、ターゲットテーブルが新しく作成されたテーブルか既存のテーブルかなどの情報が表示されます。新しく作成されたテーブルの場合、テーブルの作成に使用される DDL 文が表示されます。
完全データ初期化: このタブには、バッチ同期に関与するソーステーブルとターゲットテーブル、同期の進行状況、同期されたデータレコード数などの情報が表示されます。
リアルタイム同期: このタブには、同期の進行状況、DDL レコード、DML レコード、アラート情報など、リアルタイム同期に関する統計情報が表示されます。
同期タスクを再実行する
特殊なケースでは、ソースにテーブルを追加または削除したり、ターゲットテーブルのスキーマや名前を変更したりした場合、同期タスクの [アクション] 列の [その他] をクリックし、[再実行] をクリックして変更後にタスクを再実行できます。再実行プロセス中、同期タスクは新しく追加されたテーブルからターゲットへのデータのみ、またはマッピングされたソーステーブルからスキーマや名前が変更されたターゲットテーブルへのデータのみを同期します。
タスクの設定を変更せずに同期タスクを再実行する場合は、[アクション] 列の [その他] をクリックし、[再実行] をクリックしてタスクを再実行し、完全同期と増分同期を再度実行します。
タスクにテーブルを追加または削除した後に同期タスクを再実行する場合は、変更後に [完了] をクリックします。この場合、同期タスクの [アクション] 列に [更新を適用] が表示されます。[更新を適用] をクリックして、システムに同期タスクの再実行をトリガーします。再実行プロセス中、同期タスクは新しく追加されたテーブルからターゲットにデータを同期します。元のテーブルのデータは再度同期されません。