いいえ、ジョブの実行間隔よりも細かい更新がある場合は、すべてを記録することはできません。
SCD Type2は「ジョブ実行時点で取得できたデータの差分」をもとに履歴を作成します。そのため、1回のジョブ実行の間に複数回更新が発生した場合、取得できるのは実行時点の最新状態のみとなります。
例として、以下のようにデータが更新されたとします。
| 時刻 | 住所 |
|---|---|
| 10:00 | 住所A |
| 10:05 | 住所B |
| 10:10 | 住所C |
ジョブを11:00に1回だけ実行した場合、取得できるのは「住所C」の変更のみです。
そのため、書き込みモード「SCD Type2」で追加されるレコードは以下のようになります。
| 顧客ID | 住所 | 有効開始 |
|---|---|---|
| 001 | 住所C | 11:00 |
10:00や10:05時点の変更は、ジョブを実行していないため取得できないので履歴としては残りません。
SCD Type2は以下の仕組みで動作する点にご留意ください。
ジョブ実行時点のデータを取得
既存レコードと比較
差分があれば履歴を作成
つまり、「取得できたタイミングの状態」しか比較対象になりません。
書き込みモード「SCD Type2」は、リアルタイムの全変更履歴を完全に保証する仕組みではありません。
更新頻度が高いデータの場合は、ご注意ください。
コメント
0件のコメント
記事コメントは受け付けていません。