増分基準カラムに更新がない場合は、レコードの更新があった場合でもレコードが追加されません。詳細は以下で解説します。
顧客情報を管理するテーブルの変更履歴を残すことができる書き込みモード「SCD Type2」で、以下のデータマートを作成しました。trocco_valid_from、trocco_valid_to、trocco_is_currentは、SCD Type2を選択すると自動で追加されるカラムです。
設定内容
- キーカラムには、
idを設定 - 増分基準カラムには
updated_atを設定
| id | address | created_at | updated_at | trocco_valid_from | trocco_valid_to | trocco_is_current | |
|---|---|---|---|---|---|---|---|
| u_001 | user1@example.com | 東京都 | 2026-02-01 10:00:00 UTC | 2026-02-01 10:00:00 UTC | 2026-02-10 05:00:00 UTC | null | true |
| u_002 | user2@example.com | 大阪府 | 2026-02-01 10:00:00 UTC | 2026-02-01 10:00:00 UTC | 2026-02-10 05:00:00 UTC | null | true |
| u_003 | user3@example.com | 福岡県 | 2026-02-01 10:00:00 UTC | 2026-02-01 10:00:00 UTC | 2026-02-10 05:00:00 UTC | null | true |
id=u_001 の住所が「東京都」→「神奈川県」に変更された場合、このデータマート定義のシンクジョブを実行すると、以下のようになります。シンクジョブが2026-02-13 15:00:00 UTC (日本時間の2/14 0時0分)にスケジュール実行されました。
オレンジの箇所が追加、修正された部分です。
| id | address | created_at | updated_at | trocco_valid_from | trocco_valid_to | trocco_is_current | |
|---|---|---|---|---|---|---|---|
| u_001 | user1@example.com | 東京都 | 2026-02-01 10:00:00 UTC | 2026-02-01 10:00:00 UTC | 2026-02-10 05:00:00 UTC | 2026-02-13 15:00:00 UTC | false |
| u_002 | user2@example.com | 大阪府 | 2026-02-01 10:00:00 UTC | 2026-02-01 10:00:00 UTC | 2026-02-10 05:00:00 UTC | null | true |
| u_003 | user3@example.com | 福岡県 | 2026-02-01 10:00:00 UTC | 2026-02-01 10:00:00 UTC | 2026-02-10 05:00:00 UTC | null | true |
| u_001 | user1@example.com | 神奈川県 | 2026-02-01 10:00:00 UTC | 2026-02-13 12:00:00 UTC | 2026-02-13 15:00:00 UTC | null | true |
上記は住所に変更があった際の挙動でしたが、次は、住所に変更はあるが、更新日時の変更がなかった際の挙動をみていきます。id=u_002のお客様の住所を「大阪府」→「兵庫県」に変更しましたが、updated_atの日付の変更がされなかったとします。
この場合は、増分基準カラムに設定されたupdated_atが既存のデータと比較して変更がないため、実際は住所に変更があってもレコードは追加されず正常に処理が終了します。
| id | address | created_at | updated_at | trocco_valid_from | trocco_valid_to | trocco_is_current | |
|---|---|---|---|---|---|---|---|
| u_001 | user1@example.com | 東京都 | 2026-02-01 10:00:00 UTC | 2026-02-01 10:00:00 UTC | 2026-02-10 05:00:00 UTC | 2026-02-13 15:00:00 UTC | false |
| u_002 | user2@example.com | 大阪府 | 2026-02-01 10:00:00 UTC | 2026-02-01 10:00:00 UTC | 2026-02-10 05:00:00 UTC | null | true |
| u_003 | user3@example.com | 福岡県 | 2026-02-01 10:00:00 UTC | 2026-02-01 10:00:00 UTC | 2026-02-10 05:00:00 UTC | null | true |
| u_001 | user1@example.com | 神奈川県 | 2026-02-01 10:00:00 UTC | 2026-02-13 12:00:00 UTC | 2026-02-13 15:00:00 UTC | null | true |
コメント
0件のコメント
記事コメントは受け付けていません。