データソース、ネットワーク、リソースを構成した後、リアルタイム同期タスクを作成できます。さまざまなソースデータソースとターゲットデータソースを組み合わせて、単一テーブルまたはデータベース全体のリアルタイム増分同期を実行できます。このトピックでは、これらのタスクを作成し、そのステータスを確認する方法について説明します。
準備
データソースを構成します。詳細については、「データソース構成」をご参照ください。データ統合同期タスクを構成する前に、ソースデータベースとターゲットデータベースを構成する必要があります。これにより、タスク構成中にデータソース名を選択して、読み取りおよび書き込み操作を制御できます。リアルタイム同期をサポートするデータソースとその構成の詳細については、「サポートされているデータソースと同期ソリューション」をご参照ください。
適切な仕様のリソースグループを購入し、ワークスペースにアタッチします。詳細については、「データ統合に Serverless リソースグループを使用する」および「データ統合に専用リソースグループを使用する」をご参照ください。
リソースグループとデータソース間のネットワーク接続を確立します。詳細については、「ネットワーク接続を構成する」をご参照ください。
データ開発に移動
一部のチャネルの単一テーブルのリアルタイム同期タスクの構成エントリは、データ開発モジュールにあります。これらのタスクを作成するには、データ開発に移動する必要があります。サポートされているチャネルの詳細については、「サポートされているデータソース」をご参照ください。
DataWorks コンソールにログインします。ターゲットリージョンに切り替えます。左側のナビゲーションウィンドウで、 を選択します。ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。
ステップ 1: リアルタイム同期タスクを作成する
データ開発の新バージョン
ワークフローを作成します。詳細については、「ワークフローオーケストレーション」をご参照ください。
リアルタイム同期ノードを作成します。次の 2 つの方法のいずれかでノードを作成できます:
方法 1: ワークフローリストの右上隅にある
アイコンをクリックし、 を選択します。方法 2: ワークフロー名をダブルクリックします。ワークフローキャンバスの左側にあるノードリストから、[データ統合] の [リアルタイム同期] ノードを右側のビジネスプロセス編集パネルにドラッグします。

[新規ノード] ダイアログボックスで、ノードパラメーターを構成し、[確認] をクリックします。
データ開発の旧バージョン
ビジネスプロセスを作成します。詳細については、「ビジネスプロセスを作成する」をご参照ください。
リアルタイム同期タスクを作成します。 次の 2 つの方法のいずれかでタスクを作成できます。
方法 1: ビジネスプロセスを展開し、 を選択します。
方法 2: ビジネスプロセス名をダブルクリックし、[新規ノード] をクリックします。次に、[データ統合] フォルダから、[リアルタイム同期] ノードを右側のビジネスプロセス編集パネルにドラッグします。

[新規ノード] ダイアログボックスで、パラメーターを構成します。
パラメーター | 説明 |
ノードタイプ | デフォルト値は [リアルタイム同期] です。 |
同期メソッド |
|
パス | リアルタイム同期タスクが保存されているフォルダ。 |
名前 | ノード名には、大文字、小文字、漢字、数字、アンダースコア (_)、ピリオド (.) を使用できます。名前の長さは 128 文字を超えることはできません。 |
ステップ 2: リソースグループを構成する
リアルタイム同期タスクは、Serverless リソースグループまたはデータ統合専用リソースグループのみをサポートします。リアルタイム同期タスクの構成ページで、右側のナビゲーションバーの [基本構成] をクリックします。[リソースグループ] ドロップダウンリストから、データベースネットワークに接続されているリソースグループを選択します。
リソースグループを作成したが表示されない場合は、リソースグループがワークスペースにアタッチされているかどうかを確認してください。詳細については、「データ統合に Serverless リソースグループを使用する」および「データ統合に専用リソースグループを使用する」をご参照ください。
リアルタイム同期タスクとオフライン同期タスクは、異なるリソースグループで実行してください。これにより、実行中のタスク間のリソースの競合や干渉を防ぐことができます。たとえば、CPU、メモリ、ネットワークリソースとの干渉は、オフライン同期タスクを遅くしたり、リアルタイム同期タスクに遅延を引き起こしたり、リソースが不足している場合は out-of-memory (OOM) キラーによってタスクが終了したりする可能性があります。
Serverless リソースグループでは、同期タスクの CU の最大数を指定できます。リソース不足のために同期タスクで OOM エラーが発生した場合は、リソースグループの CU 使用量の値を調整してください。
ステップ 3: リアルタイム同期タスクを構成する
単一テーブルのリアルタイム同期タスクを構成する
ソースデータソースを構成します。
単一テーブルのデータ同期では、次のソースデータソースタイプとその構成がサポートされています:
リアルタイム同期タスク構成ページの左側にある [入力] セクションで、ターゲットのソースデータソースコンポーネントを右側のパネルにドラッグします。

ソースコンポーネントをクリックし、右側の [ノード構成] パネルでそのパラメーターを構成します。
オプション: データ変換メソッドを構成します。
リアルタイム同期中にソースデータを必要な出力フォーマットに変換する場合は、データ変換メソッドを構成できます。
単一テーブルのデータ同期では、次の変換メソッドがサポートされています:
データフィルタリング変換を構成する: フィールドのサイズなどのルールに基づいてデータをフィルタリングできます。ルールを満たすデータのみが保持されます。
文字列の置換を構成する: 文字列フィールドを置き換えることができます。
データマスキングを構成する: リアルタイムで同期される単一テーブルのデータをマスキングし、指定されたデータベースの場所に保存できます。
構成ページの左側にある [変換] セクションで、必要なデータ変換コンポーネントを右側のパネルにドラッグします。ソースコンポーネントにカーソルを合わせると、その接続ポイントが表示されます。ソースコンポーネントの下のポイントを変換コンポーネントの上のポイントに接続します。接続後、[ノード構成] パネルで変換コンポーネントを構成できます。

変換コンポーネントをクリックし、右側の [ノード構成] パネルでそのパラメーターを構成します。
ターゲットデータソースを構成します。
単一テーブルのデータ同期では、次のターゲットデータソースタイプとその構成がサポートされています:
構成ページの左側にある [出力] セクションで、ターゲットのデータソースコンポーネントを右側のパネルにドラッグし、アップストリームコンポーネントに接続します。ターゲットデータソース、テーブル、およびフィールドマッピングを構成します。ターゲットテーブルが存在しない場合は、[ワンクリックでテーブルを作成] をクリックしてすばやく作成できます。

ターゲットコンポーネントをクリックし、右側の [ノード構成] パネルでそのパラメーターを構成します。
キャンバスの上にあるツールバーで、[保存] をクリックしてタスク構成を完了します。
データベース全体のリアルタイム同期タスクを構成する
DataWorks では、データ統合で データベース全体のリアルタイム同期タスク を使用することをお勧めします。
ソースと同期ルールを設定します。
[データソース] セクションで、同期するデータソースの [タイプ] と [データソース] 名を選択します。
同期するテーブルを選択します。
[同期するソーステーブルを選択] セクションには、選択したデータソース内のすべてのテーブルが表示されます。[ソースデータベースとテーブル] セクションで、同期するデータベースからすべてのテーブルまたは一部のテーブルを選択します。次に、
アイコンをクリックして、[選択したデータベースとテーブル] リストに移動します。重要選択したテーブルにプライマリキーがない場合、リアルタイムで同期することはできません。
テーブル名のマッピングルールを設定します。
このステップでは、同期するソースデータソースからデータベースとテーブルを選択できます。デフォルトでは、同期ソリューションはソースデータベースとテーブルを、ターゲット内の同じ名前のスキーマまたはテーブルに書き込みます。スキーマまたはテーブルがターゲットに存在しない場合は、自動的に作成されます。[テーブル (データベース) 名のマッピングルールを設定] を使用して、ターゲットスキーマまたはテーブルの名前を定義することもできます。これにより、複数のテーブルのデータを単一のテーブルに書き込んだり、ターゲットに書き込むときにソースデータベースまたはテーブル名の固定プレフィックスを別のプレフィックスに更新したりできます。
ソースとターゲットのテーブル名変換ルール: 正規表現を使用して、ソーステーブル名を最終的なターゲットテーブル名に変換できます。
例 1: `doc_` プレフィックスを持つソーステーブルから `pre_` プレフィックスを持つターゲットテーブルにデータを書き込みます。

例 2: 複数のテーブルから単一のターゲットテーブルにデータを書き込みます。
「table_01」、「table_02」、「table_03」という名前のソーステーブルを「my_table」という名前の単一のターゲットテーブルに同期するには、テーブル名の正規表現変換ルールを次のように構成します: [ソース] を `table.*` に設定し、[ターゲット] を `my_table` に設定します。

ターゲットテーブル名ルール: 組み込み変数の組み合わせを使用して、ターゲットテーブル名を生成できます。変換されたターゲットテーブル名にプレフィックスとサフィックスを追加することもできます。利用可能な組み込み変数は次のとおりです:
${db_table_name_src_transed}: 「ソースとターゲットのテーブル名変換ルール」での変換後のテーブル名。
${db_name_src_transed}: 「ソースデータベースとターゲットスキーマ名変換ルール」での変換後のターゲットスキーマ名。
${ds_name_src}: ソースデータソース名。
例: 前のステップでソースとターゲットのテーブル名変換ルールによって変換されたテーブル名をさらに処理します。前のステップの結果である「my_table」を表すために `${db_table_name_src_transed}` を使用します。次に、この組み込み変数に `pre_${db_table_name_src_transed}_post` などのプレフィックスとサフィックスを追加します。最終的なターゲットテーブル名は「pre_my_table_post」になります。
ソースデータベースとターゲットスキーマ名の変換ルール: 正規表現を使用して、ソーススキーマ名を最終的なターゲットスキーマ名に変換できます。
例: ソースデータベース名の `doc_` プレフィックスを `pre_` プレフィックスに置き換えます。

ターゲットデータソースを選択し、ターゲットテーブルまたは Topic を構成します。
[ターゲットテーブルまたは Topic を設定] ページで、[ターゲットデータソース] の基本情報を構成します。これには、書き込みモードやパーティション設定などのパラメーターが含まれます。具体的な構成は、各データソースのリアルタイム同期インターフェイスによって異なります。
[ソースとターゲットのテーブルマッピングを更新] をクリックして、同期するソーステーブルとターゲットテーブル間のマッピングを作成します。
[追加フィールドを編集] をクリックして、ターゲットスキーマとテーブル名をカスタマイズし、ターゲットテーブルに定数と変数を追加できます。具体的な構成は、各データソースのリアルタイム同期インターフェイスによって異なります。
説明多数のテーブルを同期する場合、プロセスが遅くなることがあります。お待ちください。
オプション: テーブルレベルの同期ルールを設定します。
一部の同期ソリューションは、カスタムのテーブルレベル DML 処理ポリシーをサポートしています。これは、ソーステーブルで発生する挿入、更新、または削除操作に対応する処理ポリシーを定義できることを意味します。
説明サポートされている DML 操作はデータソースによって異なる場合があります。同期ソリューションが DML 処理ポリシーをサポートするかどうかは、プロダクトインターフェイスによって異なります。データソースでサポートされている DML 操作の詳細については、「サポートされている DML および DDL 操作」をご参照ください。
DDL メッセージ処理ルールを設定します。
ソースデータソースには多くの DDL 操作が含まれる場合があります。リアルタイム同期中に、ビジネスニーズに基づいてターゲットに送信されるさまざまな DDL メッセージの処理ポリシーを設定できます。サポートされている DDL 操作はデータソースによって異なる場合があります。詳細については、「サポートされている DML および DDL 操作」をご参照ください。 ページで、各ターゲットデータベースタイプの DDL 処理ポリシーを設定できます。次の表に、DDL メッセージ処理ポリシーを示します。
DDL メッセージタイプ
処理ポリシー
テーブルの作成
DataWorks が対応するタイプの DDL メッセージを受信した場合の処理ポリシーは次のとおりです:
[通常処理]: メッセージをターゲットデータソースに転送して処理します。ターゲットデータソースによって DDL メッセージの処理ポリシーが異なる場合があるため、DataWorks はメッセージを転送するだけです。
[無視]: メッセージを破棄し、ターゲットデータソースに送信しません。
[アラート]: メッセージを破棄し、実行エラーのためにメッセージが破棄されたことを示すアラートをリアルタイム同期ログに記録します。
[エラー]: リアルタイム同期タスクはすぐにエラー状態になり、実行を停止します。
テーブルの削除
列の追加
列の削除
テーブル名の変更
列名の変更
列タイプの変更
テーブルの切り捨て
ランタイムリソースを設定します。
タスクの同時実行制御機能は、データベースへの読み取りおよび書き込みのための同時接続の最大数を制限します。
同期タスクがダーティデータを許容するかどうかを制御できます。
ダーティデータが許可されていない場合、実行中にダーティデータが生成されるとタスクは失敗して終了します。
ダーティデータが許可されている場合、タスクはダーティデータを無視し (ターゲットには書き込まれません)、正常に実行を続行します。
[構成を完了] をクリックします。
ステップ 4: リアルタイム同期タスクをコミットして公開する
ツールバーで、
アイコンをクリックしてノードをコミットします。[新しいバージョンをコミット] ダイアログボックスで、[変更の説明] を入力します。
[OK] をクリックします。
標準モードのワークスペースを使用している場合は、タスクをコミットした後、本番環境に公開する必要があります。上部のメニューバーで、左側の [タスク公開] をクリックします。詳細については、「タスクを公開する」をご参照ください。
ステップ 5: リアルタイム同期タスクを実行する
データ開発でリアルタイム同期タスクを直接実行することはできません。タスクをオペレーションセンターに公開し、オペレーションセンターでタスクの実行ステータスを開始および表示する必要があります。
タスクが構成された後、 ページでタスクを開始および管理できます。詳細については、「リアルタイム同期タスク O&M」をご参照ください。
次のステップ
タスクが開始された後、タスク名をクリックして実行の詳細を表示し、タスクの O&M とチューニング を実行できます。
よくある質問
リアルタイム同期タスクに関するよくある質問への回答については、「リアルタイム同期に関するよくある質問」をご参照ください。
付録: タスクの移行
DataStudio で構成された単一テーブルのリアルタイム統合タスクを、[プライマリサイトに移行] をクリックして [データ統合] ページに移行できます。
現在、次のリアルタイム統合タスクのみがサポートされています:
Kafka から MaxCompute への単一テーブルのリアルタイム統合タスク。
Kafka から Hologres への単一テーブルのリアルタイム統合タスク。
移行する単一テーブルのリアルタイム統合タスクをダブルクリックします。タスク構成ページで、[プライマリサイトに移行] をクリックしてタスクを移行します。

左上隅の
アイコンをクリックし、 を選択します。[同期タスク] ページで、タスクリストに正常に移行された単一テーブルのリアルタイム統合タスクを表示できます。
移行後、オペレーションセンターに移動することなく、データ統合プライマリサイトで直接 O&M 操作を実行できます。タスクはオペレーションセンターに表示されなくなります。移行は、保存されたタスク構成や実行中のタスクには影響しません。
移行後、元のタスクはデータ開発のゴミ箱に移動されます。その後のすべての編集および O&M 操作は、データ統合プライマリサイトのタスクリストページでのみ実行できます。