SoT / Derved / Materialized
#SoR
3+1つの問い
そのデータは「正」なのか?
そのデータは「他のデータから導出される」のか?
そのデータは「保存されている」のか?
保存されているなら、再計算で上書きしてよいのか?
Materialized DataはSource of Truthとは限らない。
ただし、業務上確定されたMaterialized Derived DataはSource of Truthになり得る。
3つの軸
Authority(正の所在)
Authoritative:値を変えると業務上の事実が変わる。矛盾時に優先される。所有者・更新源が明確。
Non-authoritative:他に従属する。矛盾したら破棄・再計算・再同期できる。
Derivability(導出可能性)
Base:外部世界・人の入力・業務イベントから発生する一次データ。消えると復元不能。
Derived:元データ+ルールから再計算できる。元が変わると結果も変わる。
Persistence(保存形態)
Virtual / Computed:保存せず必要時に計算。同期ズレなし、計算コスト高。
Materialized:計算済みの値を保存。読み取り・集計・履歴固定に強い、同期問題あり。
用語
Source of Truth:ある概念に対するauthoritative dataの所在。
Authoritative Data:SoTとして扱われるデータ。
Base Data:他から導出できない一次データ。
Derived Data:他とルールから導出されるデータ。
Virtual / Computed:保存せず都度計算する。
Materialized:保存された結果。導出結果の保存はMaterialized Derived Data。
Snapshot:ある時点の状態を固定保存したデータ。
Cache:再取得可能な値を高速化目的で保存したもの。
Projection / Read Model:読み取り最適化された派生モデル。
Replicated Data:他システム・他DBからの複製。
table:早見表
# Authority Derivability Persistence 典型例
1 Authoritative Base Materialized 各種マスタ、勤怠打刻、雇用契約
2 Authoritative Base Virtual 概念上は存在するが実務では稀
3 Authoritative Derived Materialized 確定済み給与明細、請求書、締め済み勤怠、会計仕訳
4 Authoritative Derived Virtual ルール自体が正で値は都度計算
5 Non-authoritative Base Materialized 取込元ログ、他システム複製、未採用申請
6 Non-authoritative Base Virtual 実務上は少ない
7 Non-authoritative Derived Materialized キャッシュ、集計テーブル、検索インデックス、BI用テーブル
8 Non-authoritative Derived Virtual 画面表示時の都度計算(年齢、現在部署など)
/icons/hr.icon
Understanding Derived Data in Distributed Systems
Systems of Record - an overview | ScienceDirect Topics