コンポーネント > 共有シーケンス > 予約値の数
  

予約値の数

予約値の数により、マッピングタスクが、各タスクの実行中に1回でキャッシュするシーケンスの値の数が決まります。
複数のシーケンストランスフォーメーションが同じ共有シーケンスを使用した場合、共有シーケンスのインスタンスが同時に複数作成される可能性があります。重複する値が生成されないようにするため、予約値の数を設定することで、各マッピングについて一定の範囲のシーケンス値を予約します。
例えば、予約値の数 = 1000、初期値 = 1、増分 = 1という共有シーケンスを設定します。2つのマッピングが共有シーケンスを使用しています。最初のマッピングタスクが実行されると、データ統合は1000個の値(1~1000)をマッピングタスクのために予約し、リポジトリ内の現在値を1001に更新します。2番目のマッピングタスクが実行されると、データ統合簡単なデータ統合は次の1000個の値(1001~-2000)を予約し、現在値を2001に更新します。どちらかのマッピングタスクが予約値をすべて使用すると、データ統合は別の一連の値を予約し、現在値を更新します。
データ統合がシーケンスで予約する値の数は、予約値の数に増分値を乗算することで決定されます。
例えば、2で始まる共有シーケンスがあり、増分が2で、予約値が1000の場合、データ統合はシーケンスで1000個の値を予約するか、数値の2~2002を予約し、現在値を2003に更新します。
デフォルトでは、予約値の数は1000です。パフォーマンスを向上するには、予約値の数を増やします。これにより、データ統合がリポジトリに対して行う呼び出しの数が減少します。予約値の数を1000より少なくすることはできません。
タスク実行のために予約されたものの、タスクでは使用されない値は、タスクの完了時に失われます。例えば、1250行あるテーブルでIDを生成するとします。共有シーケンスを設定して増分1の値を生成し、予約値の数を2000に設定します。タスクが実行されると、データ統合は、タスクのために2000個の値を予約し、現在値を2001に更新します。次のタスクが実行される際、シーケンスは2001から始まり、1251~2000の値は失われます。
注: パーティションを使用する場合、データ統合は、各パーティション用に一連の値を予約します。