目次

Search

  1. はじめに
  2. トランスフォーメーションに関する作業
  3. アグリゲータトランスフォーメーション
  4. カスタムトランスフォーメーション
  5. カスタムトランスフォーメーション関数
  6. データマスキングトランスフォーメーション
  7. データマスキングの例
  8. 式トランスフォーメーション
  9. エクスターナルプロシージャトランスフォーメーション
  10. フィルタトランスフォーメーション
  11. HTTPトランスフォーメーション
  12. ID解決トランスフォーメーション
  13. Javaトランスフォーメーション
  14. JavaトランスフォーメーションAPIのリファレンス
  15. Java式
  16. Javaトランスフォーメーションの例
  17. ジョイナトランスフォーメーション
  18. ルックアップトランスフォーメーション
  19. ルックアップキャッシュ
  20. 動的ルックアップキャッシュ
  21. ノーマライザトランスフォーメーション
  22. ランクトランスフォーメーション
  23. ルータトランスフォーメーション
  24. シーケンスジェネレータトランスフォーメーション
  25. ソータトランスフォーメーション
  26. ソース修飾子トランスフォーメーション
  27. SQLトランスフォーメーション
  28. マッピングにおけるSQLトランスフォーメーションの使用
  29. ストアドプロシージャトランスフォーメーション
  30. トランザクション制御トランスフォーメーション
  31. 共有体トランスフォーメーション
  32. 構造化されていないデータのトランスフォーメーション
  33. アップデートストラテジトランスフォーメーション
  34. XMLトランスフォーメーション

トランスフォーメーションガイド

トランスフォーメーションガイド

キャッシュとルックアップソースの同期

キャッシュとルックアップソースの同期

ルックアップトランスフォーメーションでは、ターゲットに渡した行を追跡するために、動的ルックアップキャッシュが保持されます。 複数のセッションが同じターゲットを更新する場合は、各セッションのルックアップトランスフォーメーションを設定して、ターゲットではなく同じルックアップソースに動的ルックアップキャッシュを同期させることができます。
キャッシュがルックアップソースと同期するようにルックアップトランスフォーメーションを設定すると、ルックアップトランスフォーメーションはルックアップソース上でルックアップを実行します。 ルックアップソース内にデータが存在しない場合、ルックアップトランスフォーメーションは動的ルックアップキャッシュを更新する前にルックアップソースに行を挿入します。
別のセッションで行が挿入された場合には、ルックアップソース内にデータが存在する可能性があります。 ルックアップキャッシュをルックアップソースに同期させるために、Integration Serviceはルックアップソースから最新の値を取得します。 ルックアップトランスフォーメーションはルックアップソースから取得した値を動的ルックアップキャッシュに挿入します。 ルックアップソースはリレーショナルテーブルでなければなりません。
例えば、複数のセッションが同時に実行されているとします。 各セッションは新しい製品名の製品番号を生成します。 あるセッションが製品番号を生成した場合、他のセッションは同じ製品番号を使用してその製品を識別する必要があります。 製品番号は1回生成され、ルックアップソースに挿入されます。 その製品を含む行を別のセッションが処理する場合は、ルックアップソース内の製品番号を使用する必要があります。 各セッションはルックアップソース上でルックアップを実行し、すでに生成されている製品番号を特定します。
Integration Serviceは挿入行に対して以下のタスクを実行します。
  • Integration Serviceは動的ルックアップキャッシュ上でルックアップを実行します。 動的ルックアップキャッシュ内にデータが存在しない場合、Integration Serviceはルックアップソース上でルックアップを実行します。
  • データがルックアップソース内に存在する場合、Integration Serviceはルックアップソースからデータを取得します。 Integration Serviceは、ルックアップソースのカラムを使用して、動的ルックアップキャッシュ内に行を挿入します。 ソース行でキャッシュを更新することはありません。
  • データがルックアップソース内に存在しない場合、Integration Serviceはデータをルックアップソースに挿入し、行をキャッシュに挿入します。
ルックアップソースには、ルックアップキャッシュと同じカラムがあります。 カラムがルックアップトランスフォーメーションから射影されるか、カラムがルックアップ条件の一部でない限り、Integration Serviceがルックアップキャッシュにカラムを挿入することはありません。