データの正しさについて、思いついた事を徒然に書いていきます。
データの分類
データを非常に大きな括りで分類すると、以下に分かれると思います。
- リアルや他のシステムに存在しているデータの表象(以下、表象)
- 自システムが生成/変更したデータ(以下、導出)
データの分類は分かりにくい
上述の分類は、一般的なシステムでは相互に密接に絡み合って、容易に区別がつかない状態になります。これは、この分類を意識せずにモデル設計すると、モデルの属性毎でこれらが混じるからです。
表象の取得/データの配布
表象の取得/データの配布のパターンには以下のような軸があります。
- push or pull
- データのバージョンの有無
- システム全体としての時点概念の有無
- 関連するデータの一貫性を保った取得の可否
- 副作用の有無
- APIバージョンの有無
- スキーマバージョンの有無
データの整合性を保証すべきタイミング
- データの導出の実行前
- データの配布前
データの取得元が複数ある場合
どのデータが正しいか評価して、正しいデータを導出する必要がある。