DataWorks の Data Integration を使用すると、複雑なネットワーク環境間でデータを同期できます。DataStudio インターフェイスから、バッチ同期ノードを作成して定期的にデータをバッチ同期したり、リアルタイム同期ノードを作成して単一テーブルまたはデータベース全体の増分データを同期したりできます。このトピックでは、データ同期機能の概要について説明します。
背景
DataStudio のデータ同期ノードに加えて、Data Integration は、完全データと増分データの両方に対するリアルタイム同期や、データベース全体のバッチ同期など、さまざまな同期ソリューションを提供します。Data Integration とそのソリューションの詳細については、「サポートされているデータソースと同期ソリューション」をご参照ください。
制限事項
DataStudio で同期タスクを作成するには、[開発者] ロールが必要です。権限を付与する方法については、「ワークスペースメンバーの追加とロールの管理」をご参照ください。
バッチ同期タスク
- ユースケース
バッチ同期は、単一のソーステーブルから単一の宛先テーブルへの同期と、シャーディングされたソースデータベースとテーブルから単一の宛先テーブルへのデータ同期という、主に 2 つのシナリオをサポートします。DataWorks のスケジューリングパラメーターを使用して、増分データと完全データの両方を定期的に宛先テーブルの特定のパーティションに書き込むことができます。さらに、オペレーションセンターのデータバックフィル機能を使用すると、単一のタスク設定を使用して、履歴データを宛先のデータベースまたはデータウェアハウスの特定のパーティションにバッチ同期できます。
- サポート対象のデータソース
Data Integration は、リレーショナルデータベース、非構造化ストレージ、ビッグデータストレージ、メッセージキューなど、40 種類以上のデータソースをサポートしています。ソースと宛先のデータソースを定義し、Data Integration の Reader プラグインと Writer プラグインを使用して、あらゆる構造化データソースと半構造化データソース間でデータを転送できます。
- 機能
説明 リファレンス Data Integration は、バッチ同期に Reader プラグインと Writer プラグインを使用します。DataWorks でデータソースを作成し、その名前を使用してデータ転送のソースと宛先を指定できます。 DataWorks でデータソースを作成した後、コードレス UI を使用してデータ同期タスクを設定できます。 コードレス UI を使用したバッチ同期タスクの設定 以下のシナリオでは、コードエディタを使用して同期タスクを設定する必要があります: - データソースを DataWorks で直接作成できない場合。
- データソースがコードレス UI を使用したタスク設定をサポートしていない場合。
- 特定のプラグインパラメーターをコードエディタで設定する必要がある場合。
コードエディタを使用したバッチ同期タスクの設定
リアルタイム同期タスク
リアルタイム同期では、複数のデータソースを組み合わせて星型のパイプラインを構築できます。さまざまな入力と出力の組み合わせを設定して、柔軟なデータ同期リンクを構築できます。これにより、単一のソーステーブルから単一の宛先テーブルへ、またはソースデータベース全体から宛先へデータを同期できます。詳細については、「リアルタイム同期でサポートされているデータソース」および「リアルタイム同期の概要」をご参照ください。
タスクスケジューリングの設定
ノードの依存関係
- バッチ同期タスク
- バッチ同期タスクの祖先ノード:同期タスクは、プラットフォームのデータリネージを利用できます。ワークスペースのビジネスロジックの複雑さに応じて、タスクをワークスペースのルートノードまたはゼロロードノードのいずれかに依存するように設定できます。この設定により、ルートノードとゼロロードノードのどちらが現在のノードをスケジューリングするかが決まります。
- バッチ同期タスクの子孫ノード:下流の SQL タスクがテーブルデータを処理する際に、この同期タスクへの依存関係を自動的に解析・設定できるようにするには、同期タスクの出力テーブルをノードの出力として追加します。フォーマットは
projectname.tablenameを使用します。
- リアルタイム同期タスクの子孫ノード
DataWorks は、定期的にスケジューリングされるノードによって生成されたテーブルへの依存関係の設定のみをサポートします。これは、下流タスクがリアルタイム同期タスクのデータを処理する必要がある場合に、データリネージを使用して依存関係を設定できないことを意味します。回避策として、タスクの祖先をワークスペースのルートノードまたはゼロロードノードに設定できます。これにより、ビジネス要件に応じて、ルートノードまたはゼロロードノードのいずれかがタスクをスケジューリングできます。説明 リアルタイム同期タスクが期待どおりに実行されるようにするには、監視ルールを設定してください。
ノードのスケジューリングパラメーター
${bizdate} という名前の組み込み変数が含まれています。この変数には、システムの組み込みスケジューリングパラメーター $bizdate の値が自動的に割り当てられます。- Data Integration でのスケジューリングパラメーターの仕組みについては、「Data Integration でのスケジューリングパラメーターの使用方法」をご参照ください。
- Data Integration でのスケジューリングパラメーターの典型的なユースケースについては、「ユースケース:Data Integration におけるスケジューリングパラメーターの典型的な適用例」をご参照ください。