






















标准Data Vault 2.0四层链路:
Staging(落地层) → Raw Vault(原始层) → Business Vault(业务层) → Information Mart(集市/应用层)
| 对比维度 | 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完全不动,实现逻辑与原始数据解耦 |
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 "哈希差异列" }
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加载时间戳" }
customer_tier、total_consume;PIT表支持任意时间切片查询。此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。