ハブに戻る
Informatica

Informatica シーケンスジェネレーター

マッピング内で PowerCenter による予測可能なサロゲートキーが必要なときは、シーケンスジェネレーターを使いましょう。

その役割
  • ソースシステムに依存せず、マッピング内で数値を生成する。
  • 通常はディメンション、ステージングテーブル、行レベル ID にサロゲートキーを供給する。
  • 2 つのポートを公開:NEXTVAL は次の生成値、CURRVAL は現在の値を取得する。
主要ポート
要素意味典型的な用途
NEXTVALシーケンスの次の生成値。新しいサロゲートキーを書き込む。
CURRVALNEXTVAL 進捗後の現在値。下流で同じ生成キーを再利用する。
開始値最初に出力される値。ロードの最初のキーを設定する。
増分値値の間のステップ幅。キーの間隔や分割を制御する。
基本フロー
  1. 1マッピングにシーケンスジェネレーター変換を追加する。
  2. 2開始値、増分値、ポートの使い方を設定する。
  3. 3新しい識別子が必要なターゲットのキー列に NEXTVAL を接続する。
  4. 4同じ生成値をマッピング内で複数回使う場合のみ CURRVAL を使用する。
コード

典型的なサロゲートキーのパターン

SRC_CUSTOMER -> EXP_CLEAN -> SEQ_CUSTOMER_KEY.NEXTVAL -> TGT_DIM_CUSTOMER.CUSTOMER_KEY
FAQ

CURRVAL はいつ使う?

1 つの生成キーを同じマッピング内の複数フィールドへ供給するときに使う。

なぜソースキーではなくシーケンスジェネレーターを使う?

ソースキーはシステム間で衝突したり、ディメンションモデルに対して安定性が不足しがちなため。

シーケンスジェネレーターはサロゲートキーの欠番なしを保証する?

保証しない。セッション失敗や行拒否後に値はロールバックされないため、ETL ワークフローでの欠番は正常な挙動。

1 つのジェネレーターを複数ターゲットテーブルで共用できる?

技術的には可能だが非推奨。共用するとキー範囲が交錯し、各テーブルのキー範囲が把握しにくくなる。キーの分離を明確にするため、ターゲットテーブルごとに個別のジェネレーターを使うこと。

関連リンク