この記事はなに?
SSOT,SVOT,SVOFについての情報が意外と少なかったので、その違いについて記述します。
これらはそれぞれ情報技術や設計で使われる言葉です。
Single source of truth(SSOT) とは
SSOT はすべてのデータが1箇所で生成され、編集され、消えるようなデータアーキテクチャを指す用語です。
SSOT を実現するには、保持してるデータを正規化し、データの重複をなくし、さらに重複データを持たないように関係するシステムはデータをリンクしたり参照するように実装することになります。
具体な実装例としては
- MDM(マスターデータマネジメントシステム)
- Data warehouse
等が挙げられます。
Single version of the truth(SVOT) とは
SVOT は Data warehouse(DW) のコンセプトで複数のシステムからデータを DW に集めることにより「DW のデータが唯一の真実だよ(だから分析につかって!)」というものです。
データの変更は業務アプリケーション側で起こり、そのコピーが DW に流れてくるというデータフローをとります。
SVOT ができると会社中の業務アプリケーションのデータを DW に集約することになるので、業務を横断した分析が可能になり、各業務アプリケーション単独で分析システムを持つよりも、全社的な分析やBIが可能になります。
Single version of facts(SVOF) とは
SVOF は上の2つに比べすこし知名度が低い考え方ですが、 "all the data, all of the time (すべての時点のすべてのデータ)" というように、良いデータも悪いデータ(ビジネス的に誤ったものでも)もすべて履歴として保持してしまおうという考え方です。
このコンセプトを実現するには CDC(Change Data Capture) を実装したり、データモデルを SCD (Slowly Change Dimension) にしたりしないといけないなど、正規化のようなデータ重複を排除するアプリケーションよりの設計手法とは離れてきます。
これを採用してる有名な手法は Data Vault ですね。
最後に
割と基本的な用語でも日本語の解説がない界隈、それがデータエンジニアリングの界隈です。
みんなが興味を持ってたくさん記事を作ってくれると嬉しいなと思いました。