リアルタイム同期タスクを使用すると、MySQL データベース全体の増分データをリアルタイムで LogHub (SLS) に同期できます。本トピックでは、MySQL データベース全体を LogHub に同期するリアルタイム同期タスクの作成方法と、作成後のタスクステータスの確認方法について説明します。
前提条件
Serverless リソースグループまたはデータ統合専用リソースグループを購入済みです。
MySQL データソースおよび LogHub (SLS) データソースを作成済みである必要があります。詳細については、「データソース構成」をご参照ください。
リソースグループとデータソース間のネットワーク接続が確立されている必要があります。詳細については、「ネットワーク接続ソリューションの概要」をご参照ください。
操作手順
1. 同期タスクタイプの選択
Data Integration ページに移動します。
DataWorks コンソールにログインします。上部ナビゲーションバーで目的のリージョンを選択し、左側ナビゲーションウィンドウで を選択します。表示されたページでドロップダウンリストから目的のワークスペースを選択し、Data Integration へ移動 をクリックします。
左側ナビゲーションウィンドウで 同期タスク をクリックします。ページ上部で 新規同期タスク をクリックします。表示されたダイアログボックスで、以下の基本パラメーターを設定します。
ソースタイプ:
MySQL。宛先タイプ:
LogHub。タスク名: 同期タスクのカスタム名。
タスクタイプ:
データベース全体のリアルタイム移行。
2. ネットワークとリソースの構成
ネットワークとリソース構成 セクションで、同期タスク用の リソースグループ を選択します。タスクリソース使用量 の下で CU を割り当てることができます。
ソース を
MySQLデータソースに、宛先 をLogHubデータソースに設定します。その後、接続テスト をクリックします。
ソースおよび宛先データソースの接続テストが成功したら、次へ をクリックします。
3. データ同期用のデータソースおよびテーブルの選択
このステップでは、ソーステーブル セクションから同期するテーブルを選択し、
アイコンをクリックして右側の 選択済みテーブル セクションに移動させます。

特定のデータベースおよびテーブルを選択:
ソースデータベースおよびテーブルセクションの データベースフィルター および テーブル検索 フィールドにキーワードを入力して、同期対象のデータベースおよびテーブルをフィルターします。必要なデータベースおよびテーブルを選択し、
アイコンをクリックして 選択済みテーブル セクションに移動させます。選択済みテーブル エリアで、データベースフィルター および テーブル検索 フィールドを使用して、同期から除外するデータベースおよびテーブルを検索します。該当項目を選択し、
アイコンをクリックして ソーステーブル エリアに移動させます。
正規表現を使用(実行中に正規表現に基づくテーブルの追加・削除をサポート):
データベースフィルター および テーブルフィルター フィールドに正規表現を入力して、データベースおよびテーブルをフィルターします。OK をクリックして、同期するデータベースおよびテーブルを選択します。
説明たとえば、プレフィックス
aでデータベースをフィルターし、プレフィックスorderでテーブルをフィルターするには、[データベースのフィルタリング] ボックスにa.*を入力し、[テーブルのフィルタリング] ボックスにorder.*を入力します。
4. 宛先テーブルのマッピング
同期するテーブルを選択すると、選択したテーブルが自動的に「宛先テーブルのマッピングルール」セクションに表示されます。宛先テーブルのプロパティはマッピング待ちの状態です。ソーステーブルと宛先テーブルのマッピングを手動で定義し、データの読み取りおよび書き込み関係を決定する必要があります。その後、[操作] 列の 更新 をクリックすることで、ソーステーブルと宛先テーブルのマッピングを直接更新できます。また、宛先テーブルに関連する設定を構成した後でも、マッピングを更新できます。
1. 宛先 Logstore の選択
宛先 Logstore 列のドロップダウンリストから、同期タスクの宛先 Logstore を選択します。複数のテーブルを一度に構成するには、それらを選択して をクリックします。
2. DML ルールの構成
Data Integration では、デフォルトのデータ操作言語 (DML) 処理ルールが提供されています。また、宛先テーブルに書き込まれる DML コマンドに対してカスタムルールを定義することもできます。
単一テーブルのルールを定義するには、DML ルール構成 列の 構成 をクリックします。
一括でルールを定義するには、同期するすべてのテーブルを選択します。リストの下部で を選択します。
5. アラートルールの構成
同期タスクの失敗による業務データ同期の遅延を防ぐため、同期タスクにさまざまなアラートルールを構成できます。
ページ右上隅で アラートルールの構成 をクリックし、リアルタイム同期サブノードのアラートルール構成 パネルに移動します。
[アラートルールの構成] パネルで、アラートルールの追加 をクリックします。[アラートルールの追加] ダイアログボックスで、パラメーターを設定してアラートルールを構成します。
説明このステップで構成したアラートルールは、同期タスクによって生成されるリアルタイム同期サブタスクに適用されます。同期タスクの構成が完了後、「リアルタイム同期タスクの実行と管理」をご参照のうえ、[リアルタイム同期タスク] ページに移動して、リアルタイム同期サブタスクのアラートルールを変更できます。
アラートルールの管理を行います。
作成済みのアラートルールを有効化または無効化できます。また、アラートの重大度レベルに応じて異なる受信者を指定することもできます。
6. 高度なパラメーターの構成
同期タスクを詳細に構成するには、ページ右上隅の 高度なパラメーターのカスタマイズ をクリックします。
ページ右上隅で 高度なパラメーターの構成 をクリックします。
以下の表に、主要なパラメーターを示します。
パラメーター
説明
収集データの展開を行うかどうか
ソーステーブルの業務データフィールドをログの最上位レイヤーにフラット化するかどうかを制御します。
true: データを展開します。「データ展開フォーマット」を 部分的 または 完全 に設定できます。
false (デフォルト): データを展開しません。データは JSON フィールド全体内にカプセル化されます。
DDL イベントデータを収集するかどうか
ソーステーブルからデータ定義言語 (DDL) 操作情報(
CREATE TABLEやALTER TABLEなど)を収集し、SLS にログエントリとして同期するかどうかを制御します。true (デフォルト): 情報を透過的に渡します。
false: 情報を透過的に渡しません。
ソースからの NULL 値処理戦略
ソーステーブルのフィールドが NULL の場合に、宛先フィールドに埋める値を設定します。デフォルト値は空で、NULL 値が保持されることを意味します。
データ展開フォーマット
SLS への書き込み時に業務データ(
dataフィールド)の構造を定義します。このパラメーターは、「収集データの展開を行うかどうか」が true に設定されている場合のみ表示されます。選択したフォーマットは、ダウンストリームシステムがログを消費する方法に直接影響します。データ展開フォーマットの例については、「付録:データ展開フォーマットの例」をご参照ください。部分的展開 (デフォルト): MySQL binlog 収集の Logtail フォーマットとの互換性があります。
完全展開: 変更前後のすべての業務データフィールドを、データ内の独立した最上位のキーと値のペアにフラット化します。
7. リソースグループの構成
ページ右上隅の リソースグループの構成 をクリックすることで、現在の同期タスクの実行に使用されるリソースグループを表示および変更できます。
8. 同期タスクの実行
同期タスクの構成が完了したら、ページ下部の 完了 をクリックします。
Data Integration ページの 同期タスク セクションで、作成した同期タスクを見つけ、操作 列の 開始 をクリックします。
タスク セクションで同期タスクの 名前/ID をクリックし、同期タスクの詳細な実行プロセスを確認します。
同期タスクの運用保守
タスクステータスの確認
同期タスクを作成後、[同期タスク] ページで作成済みタスクの一覧と基本情報を確認できます。
操作 列で、同期タスクの 開始 または 停止 が可能です。「その他」をクリックしてタスクを 編集 または 表示 できます。
実行中のタスクについては、実行概要 セクションで基本ステータスを確認できます。概要の各エリアをクリックして実行詳細を表示することも可能です。

MySQL から LogHub (SLS) へのリアルタイム同期タスクの場合、リアルタイム同期のパフォーマンス統計が表示されます。これらの統計には、リアルタイム進捗、DDL レコード、DML レコード、アラート情報が含まれます。
同期タスクの再実行
一部の特殊なケースでは、ソースにテーブルを追加または削除した場合、または宛先テーブルのスキーマまたは名前を変更した場合、同期タスクの 操作 列の「その他」をクリックして 再実行 をクリックし、変更後にタスクを再実行できます。再実行プロセス中、同期タスクは新しく追加されたテーブルからのデータのみを宛先に同期するか、スキーマまたは名前が変更された宛先テーブルに対してマッピングされたソーステーブルからのデータのみを同期します。
タスクの構成を変更せずに同期タスクを再実行する場合は、[操作] 列の「その他」をクリックして 再実行 をクリックし、フル同期および増分同期を再度実行します。
タスクにテーブルを追加または削除した後に同期タスクを再実行する場合は、変更後に 完了 をクリックします。この場合、同期タスクの [操作] 列に 更新の適用 が表示されます。更新の適用 をクリックして、システムが同期タスクを再実行するようにトリガーします。再実行プロセス中、同期タスクは新しく追加されたテーブルからのデータを宛先に同期します。元のテーブルのデータは再度同期されません。
付録:データ展開フォーマットの例
展開しない
{ "ExecutionTime": 1761017850000, "_db_": "*****", "_event_": "row_update", "_event_time_": 1761017850, "_file_name_": "mysql-bin.*****", "_gtid_": "4a21a3ce-ad7a-11f0-a8f3**********", "_host_": "rm-*********.mysql.rds.aliyuncs.com", "_id_": "176101777********", "_offset_": "265*****", "_table_": "t_parameter", "data": { "updateBefore": { "_old_id": "3", "_old_name": "82174b93-b810-4030-8652-e5c1667d3f72", "_old_value": "+@}8-/XC", "_old_status": "kBdO", "_old_description": "a?!L7{jaH+", "_old_create_time": "2023-12-28 19:03:43", "_old_create_user": "+Zs", "_old_modify_time": "2006-11-26 20:42:31", "_old_modify_user": "brTYGI?jLL" }, "updateAfter": { "id": "3", "name": "82174b93-b810-4030-8652-e5c1667d3f72-tagd", "value": "+@}8-/XC", "status": "kBdO", "description": "a?!L7{jaH+", "create_time": "2023-12-28 19:03:43", "create_user": "+Zs", "modify_time": "2006-11-26 20:42:31", "modify_user": "brTYGI?jLL" } } }部分的展開:MySQL バイナリログ (binlog) 収集の Logtail フォーマットとの互換性あり
{ "ExecutionTime": 1761017850000, "_db_": "*****", "_event_": "row_update", "_event_time_": 1761017850, "_file_name_": "mysql-bin.*****", "_gtid_": "4a21a3ce-ad7a-11f0-a8f3**********", "_host_": "rm-*********.mysql.rds.aliyuncs.com", "_id_": "176101777********", "_offset_": "265*****", "_table_": "t_parameter", "old_data": { "_old_id": "1", "_old_name": "0e459c1a-c6ce-459b-b374-a161b095c8e9", "_old_value": "Hello", "_old_status": "b", "_old_description": "cw", "_old_create_time": "2007-08-06 16:19:03", "_old_create_user": "!wW4", "_old_modify_time": "2017-04-21 18:21:58", "_old_modify_user": "s" }, "data": { "id": "1", "name": "0e459c1a-c6ce-459b-b374-a161b095c8e9-dsg", "value": "Hello", "status": "b", "description": "cw", "create_time": "2007-08-06 16:19:03", "create_user": "!wW4", "modify_time": "2017-04-21 18:21:58", "modify_user": "s" } }完全展開:すべてのフィールドがフラット化される
{ "ExecutionTime": 1761017850000, "_db_": "****", "_event_": "row_update", "_event_time_": 1761017850, "_file_name_": "mysql-bin.*****", "_gtid_": "4a21a3ce-ad7a-11f0-a8f3**********", "_host_": "rm-*********.mysql.rds.aliyuncs.com", "_id_": "176101777********", "_offset_": "265*****", "_table_": "t_parameter", "_old_create_time": "2024-09-27 15:27:10", "_old_create_user": "o", "_old_description": "LZ[1HsTE", "_old_id": "6", "_old_modify_time": "2008-03-15 08:05:53", "_old_modify_user": "/{=>7_d@0Q", "_old_name": "cf8a671c-4414-45f5-a22c-62c353a6f1ef", "_old_status": "K:HQOX-?gK", "_old_value": "23]sn<t", "create_time": "2024-09-27 15:27:10", "create_user": "o", "description": "LZ[1HsTE", "id": "6", "modify_time": "2008-03-15 08:05:53", "modify_user": "/{=>7_d@0Q", "name": "cf8a671c-4414-45f5-a22c-62c353a6f1efgsdsa", "status": "K:HQOX-?gK", "value": "23]sn<t" }