増分基準カラムのみが更新されている場合は、新規レコードが追加され、既存の該当レコードの有効終了日(trocco_valid_to)とレコードの有効フラグ(trocco_is_current)が更新されます。詳細は以下で解説します。
顧客情報を管理するテーブルの変更履歴を残すことができる書き込みモード「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 |
上記は住所に変更があった際の挙動でしたが、次は、メールアドレスも住所も変更がなく、更新日時だけ変更があった際の挙動をみていきます。
この場合も、増分基準カラムに設定されたupdated_atが既存のデータと比較して新しいと判断できるので、新しいレコードが追加されて、既存のレコードのtrocco_valid_toとtrocco_is_currentが更新されます。
| 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 | 2026-02-13 16:00:00 UTC | false |
| 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 |
| u_002 | user2@example.com | 大阪府 | 2026-02-01 10:00:00 UTC | 2026-02-13 15:30:00 UTC | 2026-02-13 16:00:00 UTC | null | true |
コメント
0件のコメント
記事コメントは受け付けていません。