Raw Data Vault vs Business Data Vault
Raw Data Vault vs Business Data Vault
核心定位与分层关系
标准Data Vault 2.0四层链路:
Staging(落地层) → Raw Vault(原始层) → Business Vault(业务层) → Information Mart(集市/应用层)
- Raw Vault:源系统真相存储层,全量留存原始数据,零业务加工,是企业唯一可信审计基线
- Business Vault:业务标准化加工层,基于Raw Vault统一应用企业业务规则,产出可直接给报表/分析使用的标准化DV模型
核心区别总表
| 对比维度 | Raw Data Vault(RDV) | Business Data Vault(BDV) |
|---|---|---|
| 核心目标 | 1. 完整留存源系统原貌、全历史可追溯 2. 多源数据统一集成、完整血缘审计 3. 隔离源系统变更,保护底层基线 |
1. 统一落地企业业务规则、清洗、换算、口径 2. 构建全局一致的业务标准实体 3. 预计算常用时间/关联视图,简化上层查询 |
| 允许的转换(Hard Rule) | 仅硬性技术转换,不改变业务含义: 1. 拆分为Hub/Link/Sat标准DV结构 2. 类型统一(字符串数字转数值) 3. 生成哈希主键、load_ts、record_source 4. 基础格式校验、空值标记 禁止:清洗、换算、过滤、合并、业务计算 |
执行软性业务规则(Soft Rule): 1. 脏数据清洗、去重、统一编码(性别/状态码) 2. 币种统一、折扣/毛利等业务指标计算 3. 多源同实体合并(CRM+ERP客户统一) 4. 时效对齐、分层汇总、业务口径转换 |
| 数据真实性 | 源系统原样100%保留,有错、重复、脏数据全部落地,不删除不修正 | 输出业务标准视图,源系统缺陷按业务规则修复,不再保留原始脏数据 |
| 建模对象 | 完整复制所有源实体的Hub/Link/Sat 按数据源拆分Sat(crm客户sat、订单sat) |
仅保留业务有价值实体的Hub/Link/Sat 按业务域统一Sat(全局标准化客户Sat) 新增专属结构:PIT时点表、Bridge桥接表、快照表 |
| 数据粒度 | 与源系统完全一致,最细原子粒度 | 粒度可按需聚合、对齐、去冗余,支持汇总层 |
| 历史存储规则 | 纯追加(Append-only),永不更新/删除,每条变更新增一行,完整全量历史 | 保留历史,但可基于业务口径合并、时效对齐;PIT表预生成任意时间切片视图 |
| 业务口径 | 无统一口径,多源编码、单位、字段含义混乱 | 全局统一一致业务口径,全企业一套标准 |
| 典型表结构 | raw.hub_customer、raw.link_order、raw.sat_crm_customer(按源分Sat) | biz.hub_customer、biz.sat_global_customer(统一业务属性)、biz.pit_customer、biz.bridge_cust_order |
| 使用人群 | 数据工程师、数据治理、审计/合规人员 | 分析师、报表开发、业务用户、数据产品 |
| 变更影响 | 源系统新增字段/表仅新增Sat,不改动现有结构,零下游破坏 | 业务规则变更仅修改BDV逻辑,底层Raw Vault完全不动,实现逻辑与原始数据解耦 |
关键概念
1. Raw Vault:只做“结构化收纳”,不做“业务解读”
- 只执行Hard Rule(无损技术转换)
把落地层数据拆解成标准DV三组件,但不修改业务内容:- Hub:存储业务自然键(客户ID、订单号)
- Link:存储实体关联关系
- Sat:按来源系统拆分,同一客户CRM、财务、电商分别独立Sat,互不合并
- 核心价值:审计溯源
出现数据差异、对账纠纷时,可直接回查Raw Vault,复现源系统原始数据,满足金融、医疗等合规要求。 - 约束:绝不过滤、计算、清洗,哪怕源数据乱码、重复、逻辑错误也完整保存。
2. Business Vault:统一“业务语言”,预加工查询加速结构
- 执行Soft Rule(业务逻辑转换)
- 清洗:统一性别编码(0/1、男/女、M/F统一成标准枚举)
- 换算:所有外币统一为本位币、统一税率计算毛利
- 整合:多系统客户合并为单一全局客户实体,消除多源冗余
- 独有专用模型(Raw Vault不存在)
- PIT(Point-in-Time时点表):预对齐Hub与多个Sat的变更时间,快速查询“某一天客户完整属性”,避免多层自关联Sat,大幅优化报表性能
- Bridge桥接表:预连接多实体链路(客户-订单-商品),简化复杂多表关联查询
- 业务衍生Sat:存储计算指标(客单价、累计消费、客户分层标签)
- 价值:业务隔离
业务口径、计算逻辑全部收拢在BDV,若未来财务/运营规则变更,仅重跑BDV即可,底层Raw原始数据不受任何影响。
实操示例:客户模型对比
Raw Vault客户模型
erDiagram
raw_hub_customer ||--o{ raw_sat_crm_customer : ""
raw_hub_customer ||--o{ raw_sat_fin_customer : ""
raw_hub_customer {
varchar hk_cust PK "哈希主键"
varchar cust_id "客户ID(自然键)"
timestamp load_ts "加载时间戳"
varchar source "来源系统"
}
raw_sat_crm_customer {
varchar hk_cust FK "引用Hub主键"
timestamp load_ts "加载时间戳"
varchar name "客户姓名"
varchar phone "电话"
varchar crm_level "CRM等级"
varchar hash_diff "哈希差异列"
}
raw_sat_fin_customer {
varchar hk_cust FK "引用Hub主键"
timestamp load_ts "加载时间戳"
decimal credit_limit "信用额度"
varchar invoice_addr "发票地址"
varchar hash_diff "哈希差异列"
}
- 特点:CRM、财务数据分开存储(按源系统拆分Sat),字段编码未统一,无客户等级换算。
Business Vault客户模型
erDiagram
biz_hub_customer ||--o{ biz_sat_global_customer : ""
biz_hub_customer ||--o{ biz_pit_customer : ""
biz_hub_customer {
varchar hk_cust PK "哈希主键"
varchar cust_id "客户ID(自然键)"
timestamp load_ts "加载时间戳"
}
biz_sat_global_customer {
varchar hk_cust FK "引用Hub主键"
timestamp load_ts "加载时间戳"
varchar std_name "标准化姓名"
varchar std_phone "标准化电话"
varchar std_address "标准化地址"
decimal credit_limit "信用额度"
varchar customer_tier "客户等级(业务计算)"
decimal total_consume "累计消费(业务计算)"
}
biz_pit_customer {
varchar hk_cust FK "引用Hub主键"
date pit_date "时点日期"
timestamp sat1_load_ts "Sat1加载时间戳"
timestamp sat2_load_ts "Sat2加载时间戳"
}
- 特点:多源属性合并标准化至单一全局Sat;新增业务计算字段
customer_tier、total_consume;PIT表支持任意时间切片查询。
设计分层的核心收益
- 变更解耦
源系统频繁迭代 → Raw Vault仅新增Sat,不影响上层;
业务规则频繁调整 → 仅重算BDV,底层原始审计数据永久不变。 - 合规与分析分离
Raw Vault负责审计、对账、问题溯源;
Business Vault负责日常报表、自助分析、指标产出。 - 性能分层
Raw Vault保存海量细粒度原始变更,查询复杂;
BDV预构建PIT/Bridge,提前完成多表关联、时间对齐,报表查询速度大幅提升。 - 多业务视角兼容
同一套Raw Vault,可搭建多套不同口径的Business Vault(财务口径、运营口径),互不干扰。
总结
- Raw Vault = 企业数据的“原始档案库”:原样收纳、只结构化、不解读、全历史审计;
- Business Vault = 企业数据的“标准化加工车间”:统一业务规则、整合多源、预生成高效业务查询结构。
posted on 2026-07-06 17:47 哥本哈士奇(aspnetx) 阅读(7) 评论(0) 收藏 举报
浙公网安备 33010602011771号