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