数据仓库建模
Data Vault Modelling
假设数据架构如下:
源系统 -> 数据仓库(使用数据仓库模型)-> 数据虚拟化 -> 消费层(例如,BI 工具和报告)
我读到,对于数据保管库,关键原则之一是加载原始数据并保留来自所有来源的记录 - 因此不会出于 traceability/auditing 目的进行重复数据删除或转换。如果这是真的,转换会发生在哪里?
是的,确实如此,“原始”数据保险库保存的记录与加载时在源系统上的记录相同。
但是还有另外一个概念,“业务”数据库。这是所有逻辑和转换发生的地方。业务数据保险库不是原始数据保险库的完整副本,但您创建 hub/link/sat/pit/bridge 来实施适合您需要的逻辑。
这样,它会帮助你长期 运行。例如,如果您明年需要更改业务规则,您仍然拥有过去特定时间特定源系统的原始数据。如果您的逻辑有错误,您仍然拥有原始数据。
根据我的经验,通常你有这样的架构:
- 原始源(从您的 OLTP 数据源复制)
- 暂存(现在作为数据湖中的持久暂存区,因为它比关系数据库便宜)
- Raw Vault(应用所谓的硬规则,如数据类型更改)
- Business Vault(应用所谓的软规则,您所有的业务逻辑、聚合、串联……)
- 信息集市(数据集市有时会被虚拟化,但并非总是...通常 Star/Snowflake 模式)
- Cube/Tabular 型号
- BI 工具
您可以在此处找到有关 Raw Vault 和 Business Vault 之间区别的更多信息:Datavault - hard rules (rawvault) vs soft rules (businessvault)
假设数据架构如下: 源系统 -> 数据仓库(使用数据仓库模型)-> 数据虚拟化 -> 消费层(例如,BI 工具和报告)
我读到,对于数据保管库,关键原则之一是加载原始数据并保留来自所有来源的记录 - 因此不会出于 traceability/auditing 目的进行重复数据删除或转换。如果这是真的,转换会发生在哪里?
是的,确实如此,“原始”数据保险库保存的记录与加载时在源系统上的记录相同。
但是还有另外一个概念,“业务”数据库。这是所有逻辑和转换发生的地方。业务数据保险库不是原始数据保险库的完整副本,但您创建 hub/link/sat/pit/bridge 来实施适合您需要的逻辑。
这样,它会帮助你长期 运行。例如,如果您明年需要更改业务规则,您仍然拥有过去特定时间特定源系统的原始数据。如果您的逻辑有错误,您仍然拥有原始数据。
根据我的经验,通常你有这样的架构:
- 原始源(从您的 OLTP 数据源复制)
- 暂存(现在作为数据湖中的持久暂存区,因为它比关系数据库便宜)
- Raw Vault(应用所谓的硬规则,如数据类型更改)
- Business Vault(应用所谓的软规则,您所有的业务逻辑、聚合、串联……)
- 信息集市(数据集市有时会被虚拟化,但并非总是...通常 Star/Snowflake 模式)
- Cube/Tabular 型号
- BI 工具
您可以在此处找到有关 Raw Vault 和 Business Vault 之间区别的更多信息:Datavault - hard rules (rawvault) vs soft rules (businessvault)