数仓建模方法论—Data Vault 建模
除了 Kim ball 的维度建模理论, Data Vault 也是数据仓库建模的一种方法,最早由Dan Linstedt在20世纪90年代提出,主要应用于企业级数据仓库建模。
不同于三范式数据仓库模型、维度模型,Data Vault模型主要用于存储来自多个业务系统的完整的历史数据。它不区分数据在业务层面的准确与否,装载数据也不做验证和清洗。
Data Vault建模方法显式地将结构信息和属性信息分离, 能够还原业务环境的变化。 Data Vault允许并行数据装载,不需要重新设计就可以实现扩展。Data Vault是面向细节的,可追踪历史的,一组有连接关系的规范化的表的集合。 这些表可以支持一个或多个业务功能。
它是一种综合了第三范式(3NF)和星型模型优点的建模方法。 其设计理念是要满足企业对灵活性、 可扩展性、 一致性和对需求的适应性要求, 是一种专为企业级数据仓库量身定制的建模方式
Data Vault 模型定义
按照Dan Linstedt的定义,Data Vault模型是面向细节的、可追踪历史的、一组有连接关系的规范化的表的集合。它综合了三范式建模和星型模型的优点,其设计理念是满足企业对数据模型灵活性、可扩展性、一致性和对需求的适应性要求,是专门针对企业级数据仓库需要的一套建模方法。
Data Vault模型只按照业务数据的原始状态存储数据,不做任何过滤、清洗、转换,比如:同一客户在不同系统有不同地址,Data Vault模型会存储多个不同版本的客户地址数据。