アプリケーション取り込みとレプリケーション > アプリケーション取り込みとレプリケーション > 主な概念
  

主な概念

このセクションの主な概念を確認して、アプリケーション取り込みとレプリケーションタスクを設定する前にいくつかの設定オプションを理解してください。

アプリケーション取り込みおよびレプリケーションタスクとデータ統合タスクフローの統合

取り込まれたデータを処理および変換するデータ統合タスクフローをトリガするように、アプリケーション取り込みとレプリケーションタスクを設定できます。
この機能は、サポートされている任意のロードタイプを使用し、Amazon Redshift、Oracle、SQL Server、またはSnowflakeターゲットを持つタスクで使用できます。また、初期ロードタイプを使用し、Amazon S3、Azure SQL Database、Databricks、Google BigQuery、Google Cloud Storage、Kafka、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Oracle Cloud Object Storage、またはPostgreSQLターゲットを持つタスクでも使用できます。
アプリケーション取り込みとレプリケーションタスクを定義するときに、[タスクフローで実行]オプションを選択して、タスクをデータ統合のタスクフローに追加できるようにすることができます。Amazon Redshift、Oracle、Snowflake(Superpipeなし)、またはSQL Serverターゲットを使用した増分ロードジョブおよび組み合わせロードジョブの場合、必要に応じて[サイクルIDの追加]オプションを選択して、ターゲットテーブルにサイクルIDメタデータを含めます。[サイクルID]カラムは、行が更新されたサイクルを識別します。これはパラメータとしてタスクフローに渡され、トランスフォーメーションロジックを実行する行をフィルタリングするために使用できます。
データ統合でタスクフローを設定するときに、タスクをイベントソースとして選択し、取り込まれたデータを変換する適切なトランスフォーメーションタイプを追加できます。
設定タスクフロー:
  1. 1データ取り込みおよびレプリケーションタスク設定ウィザードで、アプリケーション取り込みとレプリケーションタスクを定義する際に、次のオプションを選択します。
  2. 2タスクの定義が完了したら、[保存]で保存します。
  3. 3データ統合でタスクフローを定義するには、ホームページの[調整]パネルをクリックします。
  4. 4タスクフローにアプリケーション取り込みとレプリケーションタスクを追加するには、次の手順を実行します。
    1. a[タスクのプロパティ]で、[開始]をクリックします。
    2. b[バインディング]フィールドで[イベント]を選択します。
    3. c[イベントソース名]フィールドで、[選択]をクリックします。その後、[イベントソースの選択]ダイアログボックスで、データベース取り込みとレプリケーションタスクを選択して、[選択]をクリックします。
    4. 注:
      タスクリストは、タスクタイプごとにフィルタリングできます。
    5. d[イベントソース名]フィールドと[入力フィールド]にタスク名を表示されていることを確認します。例:
    6. eタスクフローを保存してパブリッシュします。
タスクフローは、初期ロードタスクが正常に完了したとき、または増分ロード操作の各CDCサイクルの後に開始するように自動的にトリガーされます。CDCサイクルが終了しても、前のタスクフローの実行がまだ実行中の場合、データはキューに入れられ、前のタスクフローが完了するまで待機します。

ソーススキーマの変更の処理

アプリケーション取り込みとレプリケーションは、スキーマドリフトとも呼ばれるソーススキーマの変更を自動的に検出し、ターゲットでこれらの変更を処理するように設定できます。この機能は、増分ロードタスクおよび初期ロードと増分ロードの組み合わせタスクでのみ使用できます。
アプリケーション取り込みとレプリケーションタスクを設定するとき、アプリケーション取り込みとレプリケーションタスクウィザードの[開始]ページで、アプリケーション取り込みとレプリケーションがタスクに関連付けられたジョブに対してプロパゲートする必要があるソーススキーマの変更のタイプを指定できます。また、ジョブが各タイプのソーススキーマの変更を処理する方法を指定することもできます。例えば、ソースで特定のタイプのスキーマ変更が発生したときに、変更を無視するか、レプリケートするか、ジョブを停止するようにタスクを設定できます。詳細については、タスク定義の最終処理を参照してください。
注:
初期ロードジョブと増分ロードジョブの組み合わせでは、アプリケーション取り込みとレプリケーションは、ソースオブジェクトが通常の状態に達した後でのみ、ソーススキーマの変更の検出とレプリケートを開始します。
次の表に、アプリケーション取り込みとレプリケーションが各ソースタイプについて検出する、スキーマ変更の種類を示します。
ソースタイプ
サポートされるスキーマの変更
Adobe Analytics
  • - フィールドの追加
  • - フィールドの変更
  • - フィールドの削除
  • - フィールドの名前変更
Google Analytics
  • - カラムの追加
  • - カラムの変更
  • - カラムの削除
  • - カラム名の変更
Marketo
サポートされていません。
Microsoft Dynamics 365
  • - カラムの追加
  • - カラムの変更
  • - カラムの削除
NetSuite
  • - カラムの追加
  • - カラムの変更
Oracle Fusion Cloud
  • - REST - サポートされていません
  • - BICC - サポートされていません
Salesforce
  • - フィールドの追加
  • - フィールドの変更
  • - フィールドの削除
  • - フィールドの名前変更
SAP
  • - SAP ODP Extractorコネクタの使用 - サポートされていません
  • - SAP Mass Ingestionコネクタの使用 - サポートされていません
ServiceNow
  • - カラムの追加
  • - カラムの変更
  • - カラムの削除
Workday
  • - SOAP - サポートされていません
  • - RaaS - サポートされていません
Zendesk
サポートされていません。
アプリケーション取り込みとレプリケーションがソースオブジェクトのスキーマ変更を検出するのは、変更されたソースオブジェクトでデータ操作言語(DML)操作が発生した後のみです。DML操作に干渉せずに複数のスキーマ変更が発生した場合、アプリケーション取り込みとレプリケーションはDML操作が発生すると、スキーマのすべての変更をまとめて検出します。
注:

ターゲットに対する削除を論理削除として適用する機能

アプリケーション取り込みとレプリケーションの増分ロードタスク、および初期ロードと増分ロードの組み合わせタスクを設定して、ソースでの削除操作をターゲットでの論理削除として処理することができます。
注:
[論理削除]適用モードは、サポートされているソースタイプと、Databricks、Google BigQuery、またはSnowflakeのターゲット、あるいはSAP Mass IngestionソースとAmazon Redshiftターゲットを持つタスクで使用できます。
論理削除では、削除された行をデータベースから実際には削除せずに、削除済みとしてマークします。この行は、生成されたINFA_OPERATION_TYPEメタデータカラムに「D」という値を設定してターゲットに適用されます。
重要:
論理削除は、すべてのソースオブジェクトにプライマリキーがあり、行が最初に作成された後は行のプライマリキー値を変更することがソースで許可されていない場合にのみ使用できます。プライマリキーの値が変更されると、重複した行がターゲットに書き込まれ、ターゲットが破損する可能性があります。
論理削除を適用すると、ジョブはソーステーブルからのDELETEイベントを受信し、ターゲットテーブル内でINFA_OPERATION_TYPEカラムがnullである、一致するキーを持つアクティブなレコードを検索し、そのレコードを更新して、レコードが削除済みであることを示す「D」というマークを付けます。ただし、ソース側で同じキーを持つ行を再挿入または復元し、その後複数回削除した場合、ターゲット側ではそれぞれのDELETEイベントが個別のレコードとして反映される可能性があります。
シナリオ例: 組織は、データウェアハウスで論理削除を使用して、監査目的で行を保持しながら、ソースで削除された行をマークする必要があるとします。
論理削除を有効にするには、取り込みおよびレプリケーションタスクを設定するときに、タスクウィザードの[ターゲット]ページの[適用モード]フィールドを[論理削除]に設定します。

すべてのソーステーブル変更操作の監査履歴のターゲットテーブルへの適用

アプリケーション取り込みとレプリケーションの増分ロードタスク、および初期ロードと増分ロードの組み合わせタスクを設定して、ソーステーブルに対して行われたすべてのDML変更操作の監査証跡をターゲットに書き込むことができます。ソーステーブルの各DML変更の行が、選択した監査カラムとともに、生成されたターゲットテーブルに書き込まれます。監査カラムには、DML操作タイプ、時刻、所有者、トランザクションID、生成された昇順シーケンス番号、前のイメージなどの変更に関するメタデータが含まれています。
注:
[監査]適用モードは、Databricks、Snowflake、Google BigQuery、またはOracleをターゲットとするタスク、およびSAP Mass IngestionソースとAmazon Redshiftターゲットを持つタスクで使用できます。
タスクを定義するときに、[ターゲット]ページの[適用モード]フィールドで[監査]を選択します。[適用モード]フィールドは、新しいタスクまたはデプロイされていないタスクで使用できます。
追加する監査メタデータカラムを指定するには、[ターゲット]ページの[詳細]の下にある次のチェックボックスを1つ以上選択します:
これらのフィールドはオプションです。[操作タイプの追加]チェックボックスのみデフォルトで選択されており、次のDML操作タイプを示すカラムが追加されます: D(削除)、またはU(更新)。
タスクに関連付けられたジョブを初めて実行すると、ジョブは、選択した監査メタデータカラムを含むターゲットテーブルを生成します。ターゲットテーブルにインデックス以外の制約が存在しないことを確認します。
SnowflakeターゲットやDatabricksターゲットなどの[論理削除]モードをサポートしているターゲットの場合は、論理削除として処理されたそれぞれの削除操作に対して、INFA_OPERATION_TYPEカラムに操作タイプ「D」と表示され、選択した他のメタデータカラムに値が書き込まれます。ただし、更新操作と挿入操作では、INFA_OPERATION_TYPEカラムと選択されている他のすべてのメタデータカラムはNULLです。
監査モードの例
たとえば、ソーステーブルに対して次のDML変更操作が次の順序で発生するとします。
Insert into tableA pkey = 1
Update tableA where pkey=1
Update tableA where pkey=1
Delete from tableA where pkey = 1
次のすべての行がターゲットテーブルに表示され、すべてのソースDML変更の監査証跡が提供されます。
opType=I, pkey=1….
opType=E, pkey=1...
opType=E, pkey=1...
opType=D, pkey=1...
この例では、選択されている監査カラムはopTypeのみです。
タスクの適用モードが[標準]の場合、最後のDML操作は削除であり、以前の変更が上書きされるため、これらの行はターゲットテーブルに表示されません。
注:
初期ロードと増分ロードの組み合わせジョブで、初期アンロードフェーズ中に増分挿入変更レコードをキャプチャした場合、ジョブは同じ行に対して削除を実行して、初期アンロードで取得された可能性のある重複を削除します。この意図的に作成されたアクティビティは、監査適用モードで反映されます。