すべてのプロダクト
Search
ドキュメントセンター

DataWorks:バッチ同期の機能

最終更新日:Jul 15, 2026

バッチ同期は、Reader および Writer プラグインを使用して、ソースデータベースと宛先データベース間で全量または増分データを転送します。データソースとスケジューリングパラメータを設定して、プロセスを自動化します。このトピックでは、バッチ同期の機能について説明します。

コア機能

バッチ同期は、以下の機能を提供します:

image

機能

説明

異種データソース間のデータ同期

Data Integration は、リレーショナルデータベース、非構造化ストレージ、ビッグデータストレージ、メッセージキューなど、50 種類以上のデータソースタイプをサポートしています。ソースと宛先のデータソースを定義し、Data Integration が提供する Reader および Writer プラグインを使用して、任意の構造化または半構造化ソース間でデータを転送できます。詳細については、「サポートされているデータソースと同期ソリューション」をご参照ください。

複雑なネットワーク環境でのデータ同期

バッチ同期は、ApsaraDB、オンプレミスのデータセンター、ECS 上の自己管理データベース、および Alibaba Cloud 外のデータベースをサポートしています。設定前に、リソースグループとソースおよび宛先の両方のエンドポイント間の ネットワーク接続 を確保してください。設定の詳細については、「ネットワーク接続ソリューション」をご参照ください。

同期シナリオ

1. 同期モード

  • 定期的な全量同期:定期的に宛先テーブルをすべてのソースデータで上書きします。全量更新シナリオに適しています。

  • 定期的な増分同期:日次または時間単位で新規または変更されたデータのみを同期します。組み込みの スケジューリングパラメータ (例:${bizdate}) と データフィルターWHERE 条件を組み合わせて使用し、指定されたデータのみを取得して対応する時間パーティションに書き込みます。詳細については、「増分同期のためのスケジューリングパラメータの設定」をご参照ください。

  • 履歴データのバックフィル:大量の履歴データを一度にバックフィルする必要がある場合は、オペレーションセンターの [Backfill Data] 機能を使用して同期タスクをバッチ実行し、効率的に履歴データをアーカイブします。

説明

スケジューリングパラメータの詳細については、「Data Integration におけるスケジューリングパラメータの代表的なシナリオ」および「スケジューリングパラメータ」をご参照ください。

2. サポートされるソース構造

  • 単一テーブルから単一テーブルへ:最も基本的な同期モードです。1 つのソーステーブルから 1 つの宛先テーブルにデータを同期します。

  • シャーディングされたテーブルから単一テーブルへ

    • 複数の物理テーブル (例:order_01order_02...) からデータを自動的に集約し、単一の宛先テーブルに書き込みます。

    • MySQL、SQL Server、Oracle、PostgreSQL、PolarDB、AnalyticDB などのデータソースをサポートしています。詳細については、「シャーディングされたテーブルを単一テーブルに同期する」をご参照ください。

設定方法

Data Integration では、以下の方法でバッチ同期タスクを設定できます。

  • コードレス UI:ガイド付きの視覚的なインターフェースを通じて、ステップバイステップでタスクを設定します。このモードは習得しやすく使いやすいですが、一部の高度な機能はサポートしていません。

  • コードエディター:JSON スクリプトを使用して同期ロジックを直接定義します。このモードは、より複雑な設定をサポートし、きめ細かい制御を可能にします。

  • OpenAPI:OpenAPI を通じてタスクの完全なライフサイクルを管理し、プログラムによる操作をサポートします。

  • DI エージェント: AI を活用した対話を通じて単一テーブルのバッチ同期タスクを迅速に作成および管理するには、手動でのフォーム設定の代わりに Data Agent を使用します。同期要件を 1 文で記述すると、エージェントがデータソースの特定、フィールドのマッピング、リソースグループの割り当て、スケジューリングポリシーの設定を自動的に行い、単一タスクの作成にかかる時間を 15〜30 分から 5 分未満に短縮します。

説明

タスク設定機能の詳細については、「機能概要」をご参照ください。

バッチ同期タスクの運用保守

  • アラート:バッチ同期タスクの実行ステータス (未完了、失敗、完了などのシナリオを含む) を監視できます。メール、SMS、電話、DingTalk グループボット、Webhook などの複数のアラート方法をサポートし、アラート受信者に通知します。

  • データ品質:タスクがコミットおよびデプロイされた後、オペレーションセンターで宛先テーブルのデータ品質監視ルールを設定できます。現在、一部のデータベースタイプのみがデータ品質監視ルールをサポートしています。

  • データソース環境の隔離1 つのデータソース名が、開発環境と本番環境の 2 つの独立した設定に紐付けられます。タスクの実行中、環境に基づいてデータソースが自動的に切り替えられます。 開発デバッグでは開発環境が使用され、本番スケジューリングでは本番環境が使用されるため、テスト操作が誤って本番データに影響を与えるリスクを防ぎます。

機能概要

image

機能

説明

全量または増分データ同期

バッチ同期タスクは、[Data Filtering] と スケジューリングパラメータ を組み合わせて設定することで、全量または増分データ同期をサポートします。プラグインごとに増分同期の設定は異なります。増分データ同期の詳細については、「増分データ同期の設定」をご参照ください。

フィールドマッピング

フィールドマッピングルールを定義すると、ソースデータは指定された関係に基づいて対応する宛先フィールドに書き込まれます。両側のフィールドタイプに互換性があることを確認してください。

  • 複数のフィールドマッピング方法が利用可能です:

    • ウィザードモード は、同名マッピング、同行マッピング、およびカスタムのフィールドマッピングをサポートします。マッピングされていないフィールドのデータは自動的に無視されます。書き込みの失敗を避けるために、対応する宛先フィールドにデフォルト値が設定されているか、null 値が許可されていることを確認してください。

    • スクリプトモード は、列の設定順序に基づいてフィールドを厳密にマッピングします。リーダー側のフィールド数は、ライター側のフィールド数と完全に一致する必要があります。一致しない場合、タスクは実行時に失敗します。

  • 同期タスクでは、定数、スケジューリングパラメータ、および ${bizdate} などの組み込み変数を使用して、宛先フィールドに値を動的に割り当てることもできます。関連するパラメータには、スケジューリングフェーズで最終的な値が割り当てられます。

タスクのレート制限

  • タスクの同時実行制御 機能は、データベースからの読み取りと書き込みの最大同時実行スレッド数を制限します。

  • 同期速度 機能は、同期速度の高さによるソースまたは宛先への過剰な圧力を防ぐためにトラフィックを制御します。スロットリングが有効になっていない場合、現在のハードウェア環境で利用可能な最大転送パフォーマンスが提供されます。

タスクの分散実行

分散実行をサポートするデータソースは、タスクシャーディングを使用して同期タスクを複数のノードに分散し、同時実行させることができます。 これにより、同期速度がクラスターサイズに比例してスケールし、単一ノードのパフォーマンスボトルネックを突破できます。このモードは、特に高スループット、低レイテンシーの同期シナリオに適しており、アイドル状態のクラスターリソースを効率的に利用して、ハードウェア使用率を大幅に向上させます。

ダーティデータポリシー

ダーティデータ とは、タイプの不一致や制約違反などの例外により、宛先への書き込みに失敗したデータレコードを指します。バッチ同期は、許容されるダーティデータレコード数とそのタスクへの影響を定義するダーティデータポリシーをサポートしています。

  • ダーティデータを無視する:ダーティデータは自動的に除外されます。有効なデータのみが書き込まれ、タスクは実行を継続します。

  • 限定的なダーティデータを許容する:しきい値 N を設定します。ダーティデータレコード数が N 以下の場合、異常なデータは破棄され、タスクは継続します。数が N を超える場合、タスクは失敗して終了します。

  • ダーティデータを許容しない:ダーティデータが検出されると、タスクは直ちに失敗して終了します。

タイムゾーン

ソースと宛先の間でタイムゾーンをまたぐ同期が必要な場合は、ソースのタイムゾーンを設定してタイムゾーン変換を実行できます。

インテリジェントなデータ処理

DataWorks は、データ同期中にデータ処理機能を統合して、ソースデータを変換・処理してから宛先に書き込むことをサポートしています:

文字列置換:バッチ同期タスクに組み込まれている文字列置換機能により、データを一度ディスクに保存したり追加の ETL ステップを必要とせずに、データ転送中に直接軽量なデータ変換を実行できます。

AI 支援処理:データ同期中に AI 大規模言語モデルを統合して、ソースの自然言語データに対してセマンティック分析、感情分析などの処理を実行し、処理結果を直接宛先テーブルに書き込むことができます。

データベクトル化:ソースデータを抽出してベクトル化 (埋め込み) し、ベクトルデータベースに書き込むことができます。

次のステップ

タスク作成の詳細な手順については、以下をご参照ください: