第一部分:数据治理总体框架
第1章 数据治理概述
1.1 数据治理的定义
数据治理是对数据资产进行管理、控制和监督的一套体系。根据DAMA-DMBOK(国际数据管理协会数据管理知识体系)的定义,数据治理是"在数据资产管理过程中行使权力、控制和共享决策(规划、监控和执行)的系列活动"。
数据治理回答六个核心问题:
-
我们有什么数据? —— 数据的全量盘点与目录管理
-
这些数据是什么意思? —— 数据的业务定义与标准化
-
数据从哪里来、到哪里去? —— 数据的血缘追溯与流向管理
-
数据对不对、能不能用? —— 数据的质量管理与可信评估
-
谁能用、怎么用、用到什么程度? —— 数据的安全管控与权限管理
-
怎么让数据安全地流动起来、产生价值? —— 数据的集成共享与服务化
1.2 数据治理的五大核心原则
| 原则 | 说明 | 实践要点 |
|---|---|---|
| 安全合规 | 数据不泄露、不违规 | 分级分类、权限管控、审计日志、法规遵从 |
| 质量可信 | 数据准确、完整、一致 | 源头校验、全链路监控、问题闭环 |
| 标准统一 | 全公司说同一种"数据语言" | 五级标准体系、贯标执行、持续优化 |
| 权责清晰 | 谁生产、谁拥有、谁负责 | 数据Owner制度、责任体系、考核挂钩 |
| 价值可量 | 数据是资产,要产生业务价值 | 治理成效度量、与业务目标对齐 |
1.3 数据治理的八大治理域
| 序号 | 治理域 | 核心作用 | 关键产出 |
|---|---|---|---|
| 1 | 数据架构治理 | 分层、建模、分布 | 架构文档、模型设计 |
| 2 | 数据标准治理 | 定义、格式、口径、命名 | 标准字典 |
| 3 | 主数据治理 | 核心实体的唯一权威 | 主数据字典 |
| 4 | 元数据治理 | 数据描述、血缘、目录 | 元数据平台 |
| 5 | 数据质量治理 | 完整性、准确性、一致性、及时性 | 质量报告、闭环流程 |
| 6 | 数据安全治理 | 分级分类、权限、审计 | 安全策略、审计日志 |
| 7 | 数据集成与共享治理 | 采集、交换、开放、服务 | 数据服务目录 |
| 8 | 数据生命周期治理 | 创建、存储、归档、销毁 | 生命周期策略 |
第2章 双执行层治理模型
2.1 为什么需要"双执行层"数据治理?
传统数据治理的痛点在于:数仓侧发现问题后,回头去改源头,成本高、周期长、推不动。
典型场景:
-
数仓团队发现某张报表的数据错误率高达15%
-
沿血缘追溯发现是源头业务系统A的字段格式不规范
-
找业务系统负责人改造,对方说"系统已经在跑了,改不了"
-
数仓团队被迫在ETL中做大量清洗和转换
-
每次源系统升级,清洗逻辑都要跟着改,维护成本极高
这个问题出在数据治理的"位置"不对。我们只在数仓侧做治理,但数据的问题是在源头产生的。
数据治理必须从"末端被动应对"转向"源头主动管控"。
2.2 两大执行层的定义
第一层:源头侧治理(业务系统端)
-
治理对象:业务系统的数据录入、单据流转、数据产生过程
-
核心目标:让数据"生而标准、生而质量"
-
治理时机:数据产生时(事中防控)
-
责任主体:业务部门 + IT系统建设部门
-
核心原则:"不让脏数据进门"
第二层:数仓侧融合处理(数据平台端)
-
治理对象:汇聚后的数据资产、跨系统融合数据
-
核心目标:让数据"统一、可信、可用"
-
治理时机:数据汇聚后(事后/事中监控)
-
责任主体:数据团队 + 数仓开发团队
-
核心原则:"不让坏数据流到下一层"
2.3 源头治理 vs 数仓治理 —— 详细对比
| 对比维度 | 源头侧治理 | 数仓侧融合处理 |
|---|---|---|
| 治理对象 | 业务系统的数据录入、单据流转 | 汇聚后的数据资产、跨系统融合 |
| 核心目标 | 让数据"生而标准、生而质量" | 让数据"统一、可信、可用" |
| 关键动作 | 主数据标准、录入校验、编码统一、流程治理、质量规则内置 | 分层建模、质量校验、元数据管理、血缘解析、安全管控 |
| 治理时机 | 数据产生时(事中防控) | 数据汇聚后(事后/事中监控) |
| 责任主体 | 业务部门 + IT系统建设部门 | 数据团队 + 数仓开发团队 |
| 核心原则 | "不让脏数据进门" | "不让坏数据流到下一层" |
| 主要规则类型 | 必填、格式、值域、逻辑、唯一性 | 完整性、格式、值域、一致性、及时性 |
| 处理策略 | 阻断(不让脏数据进门) | 阻断/告警/入异常区 |
| 治理成熟度阶段 | 第三阶段——静态数据治理 | 第四阶段——源端+末端协同 |
| 技术工具 | MDM、数据建模工具、校验引擎 | 质量平台、元数据管理、血缘解析 |
2.4 两大执行层的协同关系
两大执行层不是割裂的,而是协同的:
标准协同:源头定标准,数仓继承标准
-
源头主数据标准发布后,自动同步到数仓标准库
-
数仓DWD层表设计自动比对源头标准
质量协同:源头校验 + 数仓校验,双重防线
-
源头规则管"出生质量",数仓规则管"融合质量"
-
源头没拦住的问题,数仓要能发现
-
数仓发现的问题,要推动源头整改
血缘协同:全链路可追溯
-
从源头到数仓,每一层的流转都有记录
-
数据出问题时,可快速定位到源头环节
闭环协同:源头发现问题→数仓校验确认→推动源头整改→源头规则升级
协同效果:源头治理做得好,数仓侧的治理成本可以降低50%以上。
2.5 数据流转全景图
text
复制
下载
┌─────────────────────────────────────────────────────────────────────────────┐
│ 源头侧治理 │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌─────────┐ │
│ │ 主数据标准 │───▶│ 业务系统建模 │───▶│ 前端&服务端 │───▶│ 质量规则 │ │
│ │ 制定与贯标 │ │ 标准化改造 │ │ 录入校验 │ │ 内置 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └─────────┘ │
│ ↓ ↓ ↓ ↓ │
│ 标准字典 标准化模型 校验规则库 质量规则集 │
└─────────────────────────────────────────────────────────────────────────────┘
│ 标准同步/数据流转
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ 数仓侧融合处理 │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌─────────┐ │
│ │ 标准落地检查 │───▶│ 主数据关联 │───▶│ 全链路质量 │───▶│ 安全与 │ │
│ │ +落标报告 │ │ 维度统一 │ │ 校验+血缘 │ │ 共享管控 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └─────────┘ │
│ ↓ ↓ ↓ ↓ │
│ 落标率报告 维度统一报告 质量报告 安全审计日志 │
└─────────────────────────────────────────────────────────────────────────────┘
│
▼
✅ 可信数据资产
2.6 源头治理的实践价值
实践案例一:首钢财务公司
首钢财务从"末端报送"转向"源头管控",全面推动数据治理模式变革:
-
梳理2300余项数据资源,全面厘清数据资产底数
-
围绕客户、信贷、结算、财务、金融市场及人力六大核心领域,搭建"1+6"全域数据标准体系框架
-
制定790余项数据标准,核心业务领域数据标准覆盖率达到95%以上
-
建立多方联席会审机制,组织业务、IT、中台及系统厂商共同参与
实践案例二:中天鹏宇公司
中天鹏宇从源头制定统一编码标准:
-
数据治理团队深入集团内多家二三级单位,手把手指导贯标
-
累计走访检查系统330余个
-
最终实现13类数据中一半以上被应用至各二三级单位
-
把"数据孤岛"盘活成"数据资源"
2.7 数据治理成熟度五阶段模型
| 阶段 | 名称 | 核心目标 | 关键特征 | 标志性产出 | 典型周期 |
|---|---|---|---|---|---|
| 第一阶段 | 编码管理 | 解决数据"识别混乱" | 一物一码,统一编码规则 | 企业级编码规范 | 3-6个月 |
| 第二阶段 | 主数据管理 | 核心主数据全企业一致 | 引入MDM,建立管理流程 | MDM系统上线 | 6-12个月 |
| 第三阶段 | 静态数据治理 | 全部静态数据业务校验 | 模型内置业务逻辑规则 | 源头质量规则库 | 6-12个月 |
| 第四阶段 | 源端+末端协同 | 全生命周期数据管控 | 源端控出生,末端验融合 | 全链路治理闭环 | 12-18个月 |
| 第五阶段 | 智能全域治理 | 非结构化+AI赋能 | 知识驱动、智能治理 | AI治理平台 | 持续演进 |
各阶段的关键特征说明:
-
第一阶段——编码管理:这是数据治理的"奠基工程"。没有统一的编码,数据在系统间无法识别、无法关联。此阶段解决"同一个物体在不同系统里叫不同的名字"的问题。若缺失,后续所有治理都将如同空中楼阁。
-
第二阶段——主数据管理:编码统一后,需要建立管理流程和组织保障。引入MDM系统,明确主数据的权威源、管理流程、责任主体。
-
第三阶段——静态数据治理:从"格式校验"深入到"业务逻辑校验"。通过构建包含业务规则的数据模型,从源头大幅降低质量问题发生率。
-
第四阶段——源端+末端协同治理:源端保证数据"出生健康",末端进行查漏补缺、统一统计口径。数据在决策场景中真正做到"可用且可信"。
-
第五阶段——智能全域治理:融合AI、NLP等技术,构建"知识驱动"的智能治理能力,实现非结构化数据的自动治理。
第二部分:第一执行层 —— 源头侧治理(详细展开)
第3章 源头侧治理总览
3.1 源头侧治理的六项工作
源头侧治理包含六项具体工作,按逻辑顺序排列:
| 序号 | 治理工作 | 核心目标 | 关键产出 |
|---|---|---|---|
| 1 | 主数据标准制定与贯标 | 统一"普通话" | 主数据标准字典 |
| 2 | 业务系统数据模型标准化改造 | 源头建模标准化 | 标准化数据模型 |
| 3 | 前端&服务端录入校验 | 不让脏数据进门 | 校验规则库 |
| 4 | 业务流程与单据规则治理 | 从流程控数据 | 流程规范文档 |
| 5 | 编码体系统一治理 | 一物一码,全网贯通 | 编码规范 |
| 6 | 源头数据质量规则内置 | 质量关口前移 | 源头质量规则集 |
3.2 源头治理六项的落地优先级
| 优先级 | 治理项 | 原因 | 建议周期 |
|---|---|---|---|
| 🔴 第一优先 | 主数据标准制定 + 编码体系统一 | 所有治理工作的基础,编码管理是"奠基工程" | 第1-2个月 |
| 🟠 第二优先 | 前端&服务端录入校验 | 见效快,能立即阻断增量脏数据 | 第2-3个月 |
| 🟡 第三优先 | 业务系统数据模型标准化改造 | 牵涉存量系统改造,需要时间,但要尽早启动 | 第3-6个月 |
| 🟢 第四优先 | 业务流程与单据规则治理 + 源头质量规则内置 | 在前三项基础上深化,逐步完善 | 第4-6个月 |
第4章 主数据标准制定与贯标
4.1 主数据的定义与范围
主数据定义:企业内跨部门、跨业务、跨系统,能够被重复利用和充分共享,具有高价值且相对稳定的基础数据。
主数据的特征:
| 特征 | 说明 |
|---|---|
| 跨系统共享 | 被多个业务系统引用和使用 |
| 高价值 | 是核心业务实体,影响关键业务流程 |
| 相对稳定 | 不频繁变化,但会缓慢变化 |
| 唯一标识 | 每个主数据实例有全局唯一编码 |
| 权威来源 | 有且仅有一个权威源系统 |
典型主数据:
-
客户(企业客户、个人客户)
-
产品/物料(成品、半成品、原材料)
-
供应商(供应商主数据)
-
组织架构(部门、岗位、人员)
-
会计科目(财务科目体系)
-
项目(项目主数据)
4.2 主数据标准的核心内容
主数据标准包含三部分内容:
① 主数据编码规则
-
唯一身份标识的生成规则
-
编码长度、编码格式、编码组成
-
示例:物料代码采用"1"开头的8位无含义数字流水码
② 主数据属性定义
-
每个字段的含义、数据类型、长度、格式
-
枚举值的标准化定义
-
示例:客户状态枚举值统一为"活跃/休眠/已流失"
③ 主数据管理流程
-
从申请到归档的全生命周期管理
-
各环节的责任人、审批流程、操作规范
-
异常处理机制
4.3 主数据管理的两大标准体系
主数据管理体系包含"两体系、一工具"——标准体系、保障体系、管理工具。
① 主数据管理标准体系
| 标准类型 | 内容 | 详细说明 |
|---|---|---|
| 编码规则 | 主数据代码的编码规范 | 确定编码长度、编码格式、编码组成、编码分配原则 |
| 分类规则 | 依据业务环境和管理需求分类 | 确定分类维度、分类层级、分类编码方式 |
| 描述规则 | 命名的规范化要求 | 确定描述字段的组成、顺序、分隔符、长度限制 |
| 模型标准 | 逻辑模型+物理模型 | 实体关系图、存储结构表、字段定义、索引设计 |
② 主数据管理保障体系
-
管理组织:数据治理委员会、数据Owner、数据管理员的三级组织
-
管理制度:主数据管理办法、实施细则、操作规程
-
管理流程:申请流程、审批流程、变更流程、归档流程
-
管理评价:主数据质量评价、贯标率考核、数据Owner考核
4.4 主数据编码规则四原则
| 原则 | 详细说明 | 示例 |
|---|---|---|
| 简单性原则 | 码位短、录入简便,能够减轻编码工作强度。在设置编码规则时,尽量不附加业务含义和规则,保持数据的长期有效性。使用流水码而非含义码,避免因业务含义变化导致编码变更。 | 不附加复杂业务含义,使用纯数字流水码 |
| 唯一性原则 | 每个数据只有唯一的编码,保持一种分类方法,并在系统中的各部门保持一致。一个编码只能对应一个实体,一个实体只能有一个编码。 | 一种分类方法,全系统统一,不允许多套编码并行 |
| 稳定性原则 | 编码规则要考虑各种可能性,统一编码体系规则,尽量保持编码的长期有效性。编码规则一经确定,不因业务变化而频繁变更。 | 避免业务变化导致编码规则变更,编码本身不携带业务含义 |
| 扩展性原则 | 考虑未来数据规模和数据量的增加,要具备一定的可扩展性,保证编码使用和更改的便捷。码位长度留有冗余,编码规则兼容未来业务拓展。 | 码位长度留有冗余,如预留2-4位扩展位 |
编码标准一般遵循"统一编码、统一业务采集标准、统一数据管控机制"。
4.5 主数据全生命周期管理流程
总流程:申请 → 校验 → 审核 → 发布 → 变更 → 冻结 → 归档
| 环节 | 执行角色 | 详细说明 | 治理要点 | 产出物 |
|---|---|---|---|---|
| 申请 | 业务部门 | 业务部门提交主数据创建申请,填写完整属性信息,附业务依据 | 申请表单须包含所有必填属性;业务依据须充分合理 | 主数据申请表 |
| 校验 | 系统自动 | 系统自动校验必填项、格式、唯一性、引用完整性 | 不符合规则的申请直接退回,并提示具体原因 | 校验结果 |
| 审核 | 业务Owner | 业务Owner审批主数据的创建,确认业务合理性 | 审批通过后方可进入发布环节;审批不通过退回修改 | 审批记录 |
| 发布 | 系统自动 | 主数据正式生效,分配唯一编码,同步分发到所有消费系统 | 发布后编码不可更改;分发保证所有系统同步接收 | 主数据发布记录 |
| 变更 | 业务部门 | 修改主数据属性(如客户地址变更),需走变更审批流程 | 变更保留完整历史记录;变更影响分析通知下游 | 变更记录 |
| 冻结 | 业务Owner | 停用不再使用的主数据(如已终止合作的供应商) | 冻结前检查关联业务,防止误停;冻结后不可再引用 | 冻结记录 |
| 归档 | 系统自动 | 历史主数据归档到冷存储 | 仅用于历史追溯,不可再引用;归档数据保留法定年限 | 归档记录 |
流程嵌入业务系统,不让"非标主数据"进入系统。
4.6 主数据贯标落地的难点与对策
核心挑战:
-
下级单位已有编码体系,更换会增大工作量、影响正在进行的业务
-
存量系统改造成本高,涉及代码修改、数据迁移
-
业务人员已习惯旧编码,新标准需要培训和适应
-
跨部门协调难度大,各部门诉求不同
分场景解决方案:
| 挑战场景 | 具体对策 | 实施要点 |
|---|---|---|
| 下级单位不愿更换现有编码 | 深入二三级单位,手把手指导贯标 | 一把手挂帅、专项工作组、定期检查 |
| 存量系统改造涉及业务中断 | 制定分阶段贯标时间表,新老编码映射兼容 | 设立过渡期(3-6个月)、新旧编码并行 |
| 业务人员不熟悉新标准 | 专项培训+操作手册,将标准嵌入日常操作 | 培训覆盖率100%、操作手册上墙 |
| 跨部门协调困难 | 建立多方联席会审机制 | 定期例会、问题升级机制 |
| 标准落地缺乏监督 | 将贯标率纳入绩效考核 | 月度通报、季度考核、年度评优 |
贯标经验一:中天鹏宇
数据治理团队深入集团内多家二三级单位,手把手指导贯标工作,累计走访检查系统330余个,最终实现13类数据中一半以上被应用至各二三级单位。核心做法:
-
每到一个单位,先调研现有编码体系
-
与业务人员共同制定贯标方案
-
现场解决贯标中的技术问题
-
持续跟踪贯标效果
贯标经验二:首钢财务
建立多方联席会审机制,组织业务、IT、中台及系统厂商共同参与,将表单字段与核心业务流程深度对齐,清晰界定数据的归属与管控权责。核心做法:
-
谁的数据谁定义:业务部门主导标准定义
-
谁的流程谁对齐:将数据标准嵌入业务流程
-
谁的系统谁改造:各系统厂商按标准改造
核心结论:标准不是"写出来"的,是"用起来"的。贯标比定标更难,也更重要。
第5章 业务系统数据模型标准化改造
5.1 核心思想
在业务系统的表结构设计阶段就嵌入数据标准,从源头上杜绝非标数据的产生。
传统做法的问题:
-
业务系统建表时随意命名,字段含义不明确
-
枚举值各系统不统一,同一业务含义不同编码
-
字段类型、长度各系统不一致
-
业务定义缺失,字段含义靠"猜"
标准化改造的目标:
-
表命名一看就知道属于哪个业务域、哪个实体
-
字段命名一看就知道是什么含义、什么类型
-
字段业务定义清晰,与数仓标准字典一致
-
枚举值全公司统一
5.2 标准化改造的四个层面
| 层面 | 改造内容 | 详细要求 | 示例 |
|---|---|---|---|
| 表命名规范 | 统一各业务系统的表命名规则 | 格式:{前缀}_{业务域}_{实体}_{用途};前缀标识表类型(t_业务表/d_字典表/log_日志表) | t_trade_order、t_crm_customer |
| 字段命名规范 | 统一字段命名、类型、长度 | 主键{实体}_id、时间{事件}_time、金额{指标}_amt、数量{指标}_cnt、状态{实体}_status;字段类型统一(如金额全用DECIMAL(18,2)) | order_id VARCHAR(32)、create_timeDATETIME |
| 字段业务定义 | 为每个字段补充明确的业务含义 | 业务定义须说明字段的业务含义、取值范围、与其他字段的关系;更新频率、数据来源、业务规则 | 见下节"字段标准六要素" |
| 枚举值字典 | 全系统使用同一套枚举值 | 枚举值编码、含义、描述全系统统一;新增枚举值走变更流程 | 订单状态:0待支付/1已支付/2已发货/3已完成/4已取消 |
5.3 字段标准六要素
每个字段必须包含以下六个要素(这是建模中最核心的治理要求):
| 要素 | 说明 | 示例 |
|---|---|---|
| 1. 字段名称 | 英文名+中文名 | order_status / 订单状态 |
| 2. 字段类型 | 数据类型 | VARCHAR(2) |
| 3. 字段长度/精度 | 长度或精度 | 2位字符 |
| 4. 是否允许为空 | NOT NULL / NULL | NOT NULL |
| 5. 默认值 | 默认值 | '0' |
| 6. 业务定义 | 业务含义描述(最重要的要素) | 订单当前所处状态:0待支付/1已支付/2已发货/3已完成/4已取消。该字段在订单创建时由系统自动赋值为'0',支付完成后由支付回调更新为'1',发货后由WMS系统回调更新为'2'。此状态与支付状态和发货状态有联动关系,请参考业务规则文档第3.2节。 |
5.4 落地五步法(首钢财务实践)
第一步:解构业务源头
-
对全公司业务流程与系统进行地毯式调研、逐级剖析
-
开展全域数据资源摸底,全面厘清数据资产底数
-
识别核心业务实体和关键数据要素
-
产出:数据资源清单(首钢财务梳理出2300余项)
第二步:规范数据标准
-
结合监管要求和业务流程,围绕核心业务领域搭建标准体系框架
-
制定并落地数据标准,实现核心业务口径的首次统一
-
首钢财务围绕客户、信贷、结算、财务、金融市场及人力六大核心领域,搭建"1+6"全域数据标准体系框架,制定790余项数据标准
第三步:明确数据权责
-
建立多方联席会审机制,组织业务、IT、中台及系统厂商共同参与
-
将表单字段与核心业务流程深度对齐
-
清晰界定数据的归属与管控权责
-
谁的数据谁定义,谁产生谁负责
第四步:重塑治理机制
-
明确数据采集、加工及归口部门的具体操作规范
-
建立从标准落地、质量校验到变更审批的全生命周期流程化管控
-
治理动作制度化、流程化
第五步:引航技术承载
-
引入自主可控的大数据平台
-
开展数据采集、数据血缘解析及标准映射
-
完成质量规则的系统级配置,使治理动作从线下走向线上
-
平台化、自动化、可视化
5.5 兰州银行实践
兰州银行通过数据建模工具,实现数据标准在源系统建模阶段的强制落标:
-
完成26套关键源系统的数据字典规范化改造
-
数据仓库100%落标
-
新建信贷系统90%落标
-
通过数据建模工具,在系统设计阶段即嵌入数据标准
核心结论:"源头建模标准化,从根本上杜绝非标数据产生。"
第6章 前端与服务端录入校验
6.1 前端录入校验
定义:在用户通过页面填写数据的环节,实时校验数据合法性和规范性。
目标:不让不合格数据"出生"——业务人员不需要懂技术规则,系统替他把关。
五大校验类型(详细) :
| 校验类型 | 详细说明 | 校验规则示例 | 触发时机 |
|---|---|---|---|
| 必填校验 | 关键字段不允许为空,空值无法提交 | order_id IS NOT NULL | 字段失焦/表单提交 |
| 格式校验 | 字段值必须符合指定格式 | 手机号:^1[3-9]\d{9}$;日期:^\d{4}-\d{2}-\d{2}$;邮箱:^[\w.-]+@[\w.-]+\.\w+$ | 输入时实时 |
| 值域校验 | 字段值必须在指定范围内 | 枚举值:status IN ('0','1','2','3','4');数值范围:age BETWEEN 0 AND 150 | 输入时实时/提交前 |
| 逻辑校验 | 跨字段逻辑一致性 | 身份证倒数第二位为奇数时性别应为'男';结束时间必须晚于开始时间 | 提交前 |
| 唯一性校验 | 业务主键不可重复 | 同一试管条码在系统中不重复;同一身份证号只能注册一个账号 | 失焦时异步校验 |
技术实现方式:
-
在表单设计器的输入组件中定义校验规则
-
用户填写时实时提示(输入框下方红色/橙色提示)
-
不符合规则的数据无法提交(提交按钮置灰或拦截)
-
校验错误信息清晰、友好,告诉用户"是什么问题、怎么改"
6.2 服务端校验(安全兜底)
前端校验的局限性:
-
用户可通过浏览器调试工具绕过前端校验
-
API直接调用(Postman、curl)绕过页面
-
批量导入Excel绕过页面校验
-
数据同步接口直接从其他系统推送数据
服务端校验必须在数据模型层面定义约束:
| 对比维度 | 前端校验 | 服务端校验 |
|---|---|---|
| 位置 | 浏览器/APP页面 | 数据模型层/后端API |
| 用户体验 | 实时提示,体验好 | 提交后反馈,稍慢 |
| 安全性 | 可被绕过 | 无法绕过 |
| 适用范围 | 仅限页面录入 | 所有写入方式(页面、导入、API、同步) |
| 规则维护 | 前端各页面分别维护 | 模型层统一维护 |
| 更新方式 | 需发布前端代码 | 模型层更新即可 |
服务端校验的技术实现:
-
在数据模型层(ORM/数据库约束)定义校验规则
-
在API入口统一校验所有写入请求
-
校验不通过直接返回400错误,不写入数据库
-
所有写入方式共享同一套校验逻辑
最佳实践:前端校验 + 服务端校验 = 双重防线
-
前端校验:提升用户体验,减少无效提交
-
服务端校验:安全兜底,所有写入方式一视同仁
-
不管数据是从哪里写入,都必须满足模型上定义的数据校验规则才能写入数据库
第7章 业务流程与单据规则治理
7.1 核心思想
数据质量不只是技术问题,更是业务流程问题。很多数据错误不是在录入环节产生的,是在流程流转中产生的。
用流程控制数据质量,比事后修数据更有效。
7.2 三大治理方向
① 流程节点规范
每个业务流程的关键节点,明确数据的录入规范。
| 流程节点 | 数据规范要求 | 示例 |
|---|---|---|
| 订单创建 | 客户信息必须完整(名称、联系方式、地址) | 缺少客户名称的订单无法创建 |
| 订单审核 | 订单金额必须大于0,商品明细必须完整 | 金额为0或负数的订单无法提交审核 |
| 财务凭证生成 | 凭证金额字段必须通过业务规则校验 | 金额与业务单据不一致时阻断 |
| 合同审批 | 合同金额、期限、条款必须填写完整 | 关键信息缺失无法进入审批流 |
② 单据流转规则
单据在不同系统/部门间流转时,保证数据不丢失、不篡改。
关键控制点:创建 → 校验 → 审批 → 流转 → 归档
每个节点的数据质量标准:
-
创建节点:必填字段完整、格式正确、唯一性检查
-
校验节点:业务逻辑校验、跨字段一致性检查
-
审批节点:数据符合审批条件、审批人权限正确
-
流转节点:数据完整传输、字段映射正确
-
归档节点:数据完整性验证、归档合规性检查
③ 审批链嵌入数据校验
把数据质量检查作为审批的前置条件。
-
不符合规范的单据,无法进入审批流程
-
审批流程中显示数据质量检查结果
-
审批人可查看数据完整性报告
-
数据质量不达标的单据自动退回
7.3 业务流程治理落地清单
-
核心业务流程各节点的数据录入规范是否明确?
-
单据在不同系统间流转时是否有数据校验?
-
审批流程是否嵌入了数据质量检查?
-
异常单据是否有明确的处理流程和责任人?
-
业务流程变更时,数据标准是否同步更新?
-
流程中各节点的数据质量指标是否可度量?
-
流程执行中的质量问题是否有反馈闭环?
7.4 首钢财务经验
明确数据采集、加工及归口部门的具体操作规范,建立从标准落地、质量校验到变更审批的全生命周期流程化管控。
| 管控环节 | 具体做法 |
|---|---|
| 标准落地 | 在业务流程中明确数据标准要求,嵌入系统校验 |
| 质量校验 | 每个流程节点设置数据质量检查点 |
| 变更审批 | 数据变更需走审批流程,保留变更历史 |
| 异常处理 | 明确异常单据处理流程和责任归属 |
第8章 编码体系统一治理
8.1 核心思想
统一编码是数据"唯一身份标识",是实现跨系统贯通的基础。
如果没有统一编码:
-
同一个客户在ERP叫"张三",在CRM叫"ZHANGSAN",在Excel叫"张"
-
数仓无法关联,客户数虚高,画像分裂
-
跨系统数据无法匹配,业务分析失真
目标是"一物一码、一码关联、一码贯通"。
8.2 编码治理的三个层次
| 层次 | 治理内容 | 详细说明 | 示例 |
|---|---|---|---|
| 第一层:主数据编码 | 核心实体的唯一编码规则 | 确定编码长度、格式、组成、分配规则;编码本身不带业务含义(尽量),使用流水码 | 客户ID:CUS_ + 8位数字流水码(CUS_00000001) |
| 第二层:业务单据编码 | 业务单据的编码规范 | 包含业务日期、业务类型、序列号等信息,便于业务追溯和识别 | 订单号:ORD + YYYYMMDD + 6位序列号(ORD20260621000001) |
| 第三层:数据字典编码 | 所有枚举值的统一编码 | 每个枚举值有唯一编码、标准名称、业务描述;新增枚举值走变更流程 | 订单状态:0待支付/1已支付/2已发货/3已完成/4已取消 |
8.3 编码体系治理的四步法
| 步骤 | 详细动作 | 产出物 | 注意事项 |
|---|---|---|---|
| 1. 盘点现状 | 盘点全公司现有编码规则,识别不一致、重复、冲突;收集各系统编码文档;访谈各系统负责人 | 编码现状清单、差异分析报告 | 关注各系统间同一实体的编码差异 |
| 2. 制定规范 | 制定统一的企业级编码规范;明确编码原则、规则、管理流程;经数据治理委员会审批发布 | 企业编码规范(正式文档) | 规范须兼顾简单性、唯一性、稳定性、扩展性 |
| 3. 新建管控 | 新建系统强制执行新规范;系统设计阶段纳入编码规范检查;不通过不予上线 | 合规检查报告 | 新系统从源头遵循新规范 |
| 4. 存量改造 | 存量系统分批改造,制定贯标时间表;通过映射表实现新旧编码兼容;过渡期双轨运行 | 改造计划、映射表 | 给存量系统充分的过渡期 |
8.4 物料编码选择建议
选择固定长度的无意义数字码,还是符号数字混合的包含一定逻辑的可变长度编码,没有严格对错之分。
| 编码方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 无意义流水码 | 简单、稳定、易扩展、不依赖业务含义 | 不易记忆、无法从编码本身获知信息 | 适合大多数主数据,推荐使用 |
| 有意义含义码 | 从编码可获知部分信息 | 业务变化可能导致编码含义变化、扩展性差 | 仅适合非常稳定、简单、层次明确的场景 |
无论选择哪种方式,均应充分兼容大部分企业的现状,留出足够的扩展空间。
8.5 中天鹏宇贯标经验
中天鹏宇的比喻非常形象——"一个个物料就像乐高的一片片颗粒,数据治理赋予每个小颗粒独一无二的身份"。他们把"统一源头"比作"水龙头":
"统一源头,作为水龙头,从源头制定统一标准,让水可以通过管道挨家挨户往下流。"
贯标过程中遇到的最大挑战:
-
下级单位已有编码体系,不愿更换
-
贯标会影响正在进行的业务
-
业务人员对新编码不熟悉
应对策略:
-
深入二三级单位,手把手指导贯标,而不是只发文件
-
从业务场景出发,讲明白统一编码带来的好处
-
不搞一刀切,给贯标预留过渡期
-
累计走访检查系统330余个
-
最终实现13类数据中一半以上被应用
第9章 源头数据质量规则内置
9.1 核心思想
把数据质量规则"内置"到业务系统中,从源头自动执行校验,而不是等到数仓侧再发现问题。
质量关口前移:校验规则在源头内置一次,所有写入方式全部生效。
9.2 五大类型规则
| 规则类型 | 详细说明 | 内置位置 | 不通过处理 | 示例 |
|---|---|---|---|---|
| 必填规则 | 关键字段不允许为空 | 模型层 | 阻断写入 | order_id IS NOT NULL |
| 格式规则 | 符合指定格式(正则表达式) | 模型层 | 阻断写入 | 手机号:^1[3-9]\d{9}$ |
| 值域规则 | 在指定范围内(枚举/数值范围) | 模型层 | 阻断写入 | 年龄:BETWEEN 0 AND 150 |
| 逻辑规则 | 跨字段逻辑一致性 | 模型层 | 阻断写入 | 身份证与性别匹配 |
| 唯一性规则 | 业务主键不可重复 | 模型层 | 阻断写入 | 同一编码不重复 |
9.3 技术实现方式
在业务系统的数据模型层定义校验规则:
sql
复制
下载
-- 示例:在数据库表结构中定义约束
CREATE TABLE orders (
order_id VARCHAR(32) NOT NULL PRIMARY KEY,
customer_id VARCHAR(32) NOT NULL,
order_amt DECIMAL(18,2) NOT NULL CHECK (order_amt > 0),
order_status VARCHAR(2) NOT NULL DEFAULT '0' CHECK (order_status IN ('0','1','2','3','4')),
create_time DATETIME NOT NULL,
phone VARCHAR(11) NOT NULL CHECK (phone REGEXP '^1[3-9][0-9]{9}$'),
id_card VARCHAR(18) NOT NULL CHECK (LENGTH(id_card) = 18),
UNIQUE KEY uk_order_id (order_id)
);
或在应用层实现统一校验:
-
在API入口配置统一的校验拦截器
-
所有写入请求经过校验引擎
-
校验规则集中管理,统一配置
-
校验不通过返回标准错误码
9.4 源头质量规则 vs 数仓质量规则
| 对比维度 | 源头质量规则 | 数仓质量规则 |
|---|---|---|
| 执行位置 | 业务系统 | 数仓/数据平台 |
| 执行时机 | 数据写入业务系统时 | 数据同步/ETL时 |
| 校验范围 | 单个业务系统的数据 | 跨系统融合后的数据 |
| 主要规则类型 | 必填、格式、值域、逻辑、唯一性 | 完整性、格式、值域、一致性、及时性 |
| 处理策略 | 阻断(不让脏数据进门) | 阻断/告警/入异常区 |
| 责任主体 | 业务系统开发团队 | 数据治理团队 |
| 数据质量成熟度 | 第三阶段——静态数据治理 | 第四阶段——源端+末端协同 |
| 规则更新方式 | 业务系统变更升级 | 数据治理平台配置 |
两者互不替代,互为补充:
-
源头规则管"出生质量" —— 不让问题数据在源头产生
-
数仓规则管"融合质量" —— 确保跨系统数据的可信
-
源头没拦住的问题,数仓要能发现
-
数仓发现的问题,要推动源头整改
第10章 源头治理组织与权责
10.1 三级责任体系
| 层级 | 角色 | 构成 | 职责 |
|---|---|---|---|
| 决策层 | 数据治理委员会 | CEO/CDO牵头,各业务线主管参与 | 定方向、批预算、仲裁争议、协调资源 |
| 管理层 | 数据治理办公室 | 数据团队+各业务线骨干 | 定标准、推贯标、监质量、管安全、促协同 |
| 执行层 | 业务系统Owner | 各系统业务负责人+数据管理员 | 执行标准、保障质量、落实校验、反馈问题 |
10.2 关键原则
① 业务担任数据Owner,IT提供技术支撑
| 角色 | 职责 | 示例 |
|---|---|---|
| 业务Owner | 定义数据标准、审批主数据、对数据质量负责 | 客户数据Owner由销售部门负责人担任 |
| IT支撑 | 实现技术校验、开发管理工具、提供技术支持 | IT负责在系统中实现校验规则 |
② 建立多方联席会审机制
组织业务、IT、中台及系统厂商共同参与,将表单字段与核心业务流程深度对齐,清晰界定数据的归属与管控权责。
③ 谁的数据谁定义,谁产生谁负责
-
客户主数据:销售部门定义标准,CRM系统产生
-
产品主数据:生产/采购部门定义标准,ERP系统产生
-
财务主数据:财务部门定义标准,财务系统产生
④ 给治理组织"实权"
-
KPI里要有数据治理指标(标准覆盖率、质量合格率、贯标率)
-
数据治理指标与绩效考核挂钩
-
治理办公室有权对不合规的系统叫停
第11章 源头治理检查清单
源头侧检查清单(业务系统建设部门使用) :
主数据管理:
-
主数据标准是否已制定并发布?发布日期是什么?
-
主数据编码规则是否遵循"简单、唯一、稳定、扩展"四原则?
-
主数据全生命周期管理流程(申请→校验→审核→发布→变更→冻结→归档)是否已建立并嵌入系统?
-
主数据贯标是否已覆盖各二级/三级单位?贯标覆盖率是多少?(目标≥80%)
-
主数据质量是否有定期评估?评估频率是?
-
主数据变更是否有审批和影响分析?
模型标准化:
-
核心业务系统的数据模型是否已完成标准化改造?改造进度是?
-
表命名是否符合
{层级}_{业务域}_{实体}_{粒度}规范? -
字段命名是否符合前缀规范(_id/_time/_amt/_cnt/_status)?
-
每个字段是否有完整的六要素定义(特别是业务定义)?
-
枚举值字典是否已建立并在各系统间保持一致?
录入校验:
-
前端录入是否配置了必填/格式/值域/逻辑/唯一性校验?
-
前端校验规则的覆盖率是多少?(覆盖了多少字段)
-
服务端数据模型是否配置了模型层校验规则(安全兜底)?
-
校验不通过的数据是否有明确提示和处理流程?
-
异常数据的处理是否有记录和追踪?
流程治理:
-
核心业务流程是否嵌入了数据质量检查节点?
-
审批流程是否嵌入了数据质量前置校验?
-
业务流程变更时,数据标准是否同步更新?
-
异常单据是否有明确的处理流程和责任人?
编码与质量:
-
编码规范是否全公司统一并强制执行?
-
源头数据质量规则是否已内置到业务系统?
-
源头质量规则的种类和数量是多少?
-
数据Owner和权责是否已明确界定?
第12章 源头治理常见误区与避坑指南
| 误区 | 具体表现 | 正确做法 | 后果说明 |
|---|---|---|---|
| ❌ 源头治理是数仓团队的事 | 业务系统部门不参与治理,全推给数仓 | ✅ 源头治理由业务系统建设部门主导,数仓团队提供标准输入 | 业务不参与,标准无法落地,治理流于形式 |
| ❌ 编码规范定好就行,不需要贯标 | 发了文件就结束,无人推动落地 | ✅ 编码规范需要持续贯标,手把手指导落地 | 规范停留在纸面,各系统依然各搞一套 |
| ❌ 前端校验做了就够了 | 只做页面校验,无服务端校验 | ✅ 前端+服务端双向校验,纵深防御 | API/导入绕过前端,脏数据直接入库 |
| ❌ 等数仓建好了再补源头治理 | 先急后缓,认为源头改造不重要 | ✅ 源头治理与数仓建设同步推进,标准先行 | 数仓建好了,源头脏数据问题依然存在 |
| ❌ 源头质量规则和数仓质量规则重复 | 二选一,认为有一套就够了 | ✅ 两者分工不同,互为补充,不可替代 | 缺少任何一层,质量防线都有漏洞 |
| ❌ 主数据标准一次性全部定完再推行 | 追求完美,迟迟不启动贯标 | ✅ 选核心域先行,再逐步扩展;标准需要持续优化 | 等待完美方案导致永远无法启动 |
第三部分:第二执行层 —— 数仓侧融合处理(详细展开)
第13章 数仓分层 —— 治理的"骨架"
13.1 分层的本质
分层的核心目的是把复杂问题拆解,每一层解决一类特定问题。
不分层的后果:
-
数据混杂:分不清哪张表是原始数据、哪张是清洗过的
-
逻辑混乱:改一个地方不知道会影响哪里
-
重复开发:同样的逻辑在不同地方反复实现
-
治理无处下手:不知道数据应该在哪一层做校验、做标准化
从治理视角看,分层是"逐级净化"的过程:
-
源系统的数据太乱——格式不统一、质量参差不齐、业务含义模糊
-
分层在数据流入过程中,一层一层地把混乱"过滤"掉
-
一层一层地把数据"标准化",最终输出可信数据资产
分层原则:职责清晰、边界明确、上层不依赖下层细节。
13.2 经典四层架构
数据流向:源系统 → ODS(镜像) → DWD(标准化) → DWS(汇总) → ADS(应用) → 业务用户
| 层级 | 定位 | 治理职责 | 核心产出 |
|---|---|---|---|
| ODS | 源数据镜像 | 入仓质量闸门、数据溯源 | 质量报告 |
| DWD | 明细标准化 | 标准落地、主数据关联 | 标准覆盖率报告 |
| DWS | 维度汇总 | 口径统一、指标字典 | 指标字典 |
| ADS | 场景交付 | 权限管控、SLA保障 | 数据服务目录 |
13.3 ODS层 —— 操作数据存储层
定位:源系统数据的"原始照片"。
设计原则:
-
与源系统保持1:1映射:源系统有什么字段,ODS就有什么字段,字段名、字段类型都保持一致
-
保留所有历史版本:每次同步追加存储,不做更新覆盖,支持历史追溯
-
保留原始格式:不做数据类型转换、不做清洗、不做任何业务逻辑转换
-
目的:保留原始证据,万一后续清洗逻辑有问题,可以回到ODS层重新来过
命名规范:
-
格式:
ods_{源系统}_{源表名}_{同步方式} -
df= 全量同步(daily full) -
di= 增量同步(daily increment) -
示例:
ods_erp_order_df、ods_crm_customer_di
存储策略:
-
按日期分区:
dt=YYYY-MM-DD -
保留周期:建议保留3-6个月原始数据
-
更早的数据归档到冷存储(如对象存储)
ODS层的治理职责:
-
入仓质量校验(四不放过) :
-
完整性校验:关键字段不能为空
-
格式校验:日期、金额等格式必须符合标准
-
值域校验:枚举值必须在字典范围内
-
业务规则校验:如"订单金额>0""下单时间≤当前时间"
-
不合格的数据阻断不入仓,或进异常区隔离
-
-
数据溯源:
-
记录每一条数据来自哪个源系统
-
记录什么时间抽取的
-
记录用什么方式同步的(全量/增量)
-
记录数据量、校验结果
-
-
异常隔离:
-
进不了主流程的数据单独存放
-
异常区与正常区物理隔离
-
异常数据有明确的处理流程
-
关键产出:ODS层数据质量报告——每天多少数据进来了、多少被拦住了、拦住的都是什么问题。
13.4 DWD层 —— 数据明细层
定位:最细粒度的明细数据,完成标准化、清洗、整合。这是治理最核心的一层。
设计原则:
-
一次整合,多次使用:标准化做一次,所有下游复用,不在各层重复做标准化
-
保持最细粒度:不做任何汇总,保留业务最小单元
-
水平整合、垂直分表:按主题组织,交易域的表只放交易数据,客户域的表只放客户数据
DWD层的三大核心任务:
| 任务 | 详细说明 | 示例 |
|---|---|---|
| 数据清洗 | 去重(按业务主键去重,保留最新/最早的一条)、NULL处理(设定默认值或基于业务规则填充)、异常值修正(金额为负→标记或修正、日期超出合理范围→告警+标记) | 过滤重复订单、金额为负→标记 |
| 数据标准化(治理核心) | 枚举映射(将各源系统的不同枚举值映射到标准值)、单位统一(分→元、磅→公斤)、格式统一(日期统一为yyyy-MM-dd HH:mm:ss) | 状态"1/已支付/PAID"→统一"PAID" |
| 数据整合 | 多源合并(将ERP、CRM等多源订单数据合并为一张统一表)、主键统一(各源系统客户ID→统一映射到主数据客户ID) | ERP订单+CRM订单→统一订单表 |
命名规范:dwd_{业务域}_{主题}_{粒度}_{后缀},如dwd_trade_order_di(交易域订单增量明细)。
存储策略:按日期分区dt=YYYY-MM-DD,永久保留或不低于2年。
DWD层的治理职责:
-
标准落地:所有字段遵循数据标准字典(L3-L5)
-
主数据关联:维度字段必须关联主数据系统
-
数据质量监控:持续监控标准化后的数据质量
-
业务规则沉淀:清洗逻辑固化,可复用
关键产出:DWD层数据标准覆盖率报告。
13.5 DWS层 —— 汇总层
定位:按维度做轻度汇总,以空间换时间,提升查询性能。
设计原则:
-
以空间换时间:预计算高频查询,避免每次都扫明细表
-
维度一致性:所有维度值必须来自主数据
-
指标原子性:每个指标只计算一次,被所有下游复用
典型粒度:
-
时间维度:日汇总、周汇总、月汇总、年汇总
-
业务维度:地区汇总、品类汇总、渠道汇总、客户类型汇总
-
组合维度:日+地区汇总、月+品类汇总
命名规范:dws_{业务域}_{粒度}_{维度}_{指标},如dws_trade_daily_city_gmv。
存储策略:按日期分区dt=YYYY-MM-DD,建议保留1-2年。
DWS层的治理职责:
-
指标口径统一:同一个指标只能有一种计算逻辑
-
维度标准统一:所有维度值必须来自主数据管理系统
-
指标字典绑定:每个指标关联到指标字典中的定义
关键产出:指标字典(指标名→计算逻辑→数据来源→责任人→更新时间)。
13.6 ADS层 —— 应用层
定位:直接服务业务场景,按需组装,面向交付。
设计原则:
-
面向场景:不追求通用性,只服务特定场景(销售日报就是销售日报)
-
引用而非计算:所有指标引用DWS层,禁止在ADS层重新计算
-
权限前置:表级/行级/列级权限在表设计时就规划好
典型产出:
-
固定报表(周报/月报/经营分析会报表)
-
数据API(供业务系统实时调用)
-
自助分析数据集(供业务人员拖拽分析)
命名规范:ads_{业务域}_{场景}_{类型},如ads_sales_daily_report。
存储策略:按日期分区dt=YYYY-MM-DD,建议保留6-12个月。
ADS层的治理职责:
-
强制引用:必须引用DWS层已有指标,禁止在ADS层重新计算
-
权限管控:按数据敏感等级设置访问权限(L1/L2公开→L3脱敏审批→L4严格授权)
-
SLA保障:明确数据新鲜度和交付时效("每日8:00前刷新完成")
关键产出:数据服务目录(有哪些数据产品、谁在用、SLA是多少、找谁问)。
13.7 分层设计六大原则
| 原则 | 详细说明 | 反例 |
|---|---|---|
| 逐级净化 | 上一层问题不传递到下一层,每层都保证输出质量 | ODS脏数据进入DWD |
| 职责单一 | 每层只做自己的事,不越界 | DWS层做明细标准化 |
| 水平分域 | 按业务域水平拆分,各域独立 | 交易域和客户域混在一起 |
| 垂直分层 | 按粒度垂直分层,明细和汇总分开 | 明细和汇总在同一层 |
| 可回溯性 | 任何数据可溯源到ODS原始数据 | 没有保留ODS原始数据 |
| 命名规范 | 表名体现层级/域/粒度/后缀 | 随意命名,看不出层级 |
核心原则:上一层的问题不能在下一层掩盖。层层设防,逐级净化,这是分层治理的灵魂。
第14章 数据建模理论与治理
14.1 两种主流方法论
| 维度 | 范式建模(ER模型) | 维度建模(星形/雪花模型) |
|---|---|---|
| 核心思想 | 消除冗余,避免数据不一致 | 面向分析,便于理解和使用 |
| 适用场景 | OLTP系统、数据写入频繁 | 数据仓库、OLAP分析 |
| 代表 | 三范式(3NF) | 事实表 + 维度表 |
| 优点 | 数据冗余低、一致性高 | 查询简单、性能好、易理解 |
| 缺点 | 查询需多表关联,性能差 | 存储冗余较大 |
| 治理视角 | 保证数据一致性 | 保证数据易用性和可理解性 |
| 数仓应用 | DWD层整合阶段参考使用 | 数仓建模的主流选择 |
结论:数仓建模以维度建模为主,DWD层数据整合时可参考范式思想保证一致性。
14.2 范式建模详解
三范式核心规则:
| 范式 | 规则 | 详细说明 | 反例 |
|---|---|---|---|
| 第一范式(1NF) | 属性不可再分 | 每个字段都必须是原子值,不能是集合或数组 | "姓名"字段存"张三,李四"(违反1NF) |
| 第二范式(2NF) | 消除部分函数依赖 | 所有非主属性完全依赖于主键,而非主键的一部分。主要针对复合主键的情况 | 复合主键(订单ID+产品ID),"产品名称"只依赖于产品ID(违反2NF) |
| 第三范式(3NF) | 消除传递依赖 | 非主属性不能依赖于其他非主属性 | 订单表存"客户名称"(客户名称→客户ID→订单ID,传递依赖,违反3NF) |
范式建模在数仓中的应用:ODS层和DWD层数据整合阶段,可用范式思想设计中间表,保证数据一致性。但DWS和ADS层应回归维度建模。
14.3 维度建模核心概念
| 概念 | 定义 | 特点 | 典型字段 | 治理要点 |
|---|---|---|---|---|
| 事实表 | 记录"发生了什么"——业务事件的度量 | 细粒度(每条记录是业务最小单元)、行多列少、高度数值化 | 外键(关联维度)+度量值(金额、数量、时长) | 必须可溯源到源系统明细记录 |
| 维度表 | 记录"谁、什么、何时、何地"——业务对象的描述 | 相对稳定、列多行少、描述性 | 主键+各种描述属性(名称、分类、层级) | 必须来自主数据系统,全网唯一 |
记忆口诀:事实表记"事",维度表记"物"。
事实表示例:订单事实表
-
主键:
order_id -
外键:
time_id、customer_id、product_id、region_id -
度量:
order_amt(订单金额)、order_cnt(订单数量) -
每行一笔订单
维度表示例:客户维度表
-
主键:
customer_id -
属性:
customer_name、membership_level、city、register_date -
每行一个客户
14.4 维度建模三种模式
| 模式 | 结构 | 优点 | 缺点 | 适用场景 | 使用频率 |
|---|---|---|---|---|---|
| 星形模式 | 一个事实表+多个维度表直接关联 | 查询简单(最多5表关联)、性能好、易理解 | 维度表冗余较大(非规范化) | 绝大多数数仓场景 | ⭐⭐⭐⭐⭐(90%) |
| 雪花模式 | 维度表进一步规范化,拆分为子维度 | 节省存储空间 | 查询需多表关联,性能下降,理解难度增加 | 维度层级深且存储成本敏感 | ⭐⭐(8%) |
| 星座模式 | 多个事实表共享维度表 | 维度定义统一,减少重复 | 管理复杂度高 | 多个业务过程共享维度(如订单+退货共享时间和产品维度) | ⭐⭐(2%) |
星形模式是数仓建模的首选,建议90%的场景使用。 不要为了"看起来专业"而使用雪花模式——查询性能和易理解性远比节省存储重要。
星座模式的治理要点:共享维度表必须确保定义完全一致,不能出现"同一个维度在不同事实表里含义不同"的情况。
14.5 星形模式设计详解
以订单域为例的星形结构:
中心:订单事实表
| 字段 | 类型 | 说明 |
|---|---|---|
order_id | VARCHAR(32) | 主键 |
time_id | INT | 外键→时间维度表 |
customer_id | VARCHAR(32) | 外键→客户维度表 |
product_id | VARCHAR(32) | 外键→产品维度表 |
region_id | INT | 外键→地区维度表 |
order_amt | DECIMAL(18,2) | 度量:订单金额 |
order_cnt | INT | 度量:订单数量 |
四周:四个维度表
时间维度表:time_id、日期、年、季度、月、周、日、是否节假日
客户维度表:customer_id、姓名、会员等级、城市、注册日期、客户状态
产品维度表:product_id、名称、品类、品牌、规格、单价
地区维度表:region_id、省份、城市、区县
查询示例:
sql
复制
下载
SELECT
t.年, c.城市, p.品类,
SUM(f.order_amt) AS 总金额,
COUNT(f.order_id) AS 订单数
FROM 订单事实表 f
JOIN 时间维度表 t ON f.time_id = t.time_id
JOIN 客户维度表 c ON f.customer_id = c.customer_id
JOIN 产品维度表 p ON f.product_id = p.product_id
WHERE t.年 = 2025
GROUP BY t.年, c.城市, p.品类;
业务人员一看就懂:"订单按客户、产品、时间、地区分析"。
第15章 建模中的治理要点
15.1 命名规范治理
治理原则:所有命名必须符合命名规范,代码审查时一票否决,不符合规范不得上线。
表命名规范:{层级}_{业务域}_{实体/主题}_{粒度}_{后缀}
| 组成部分 | 说明 | 示例 |
|---|---|---|
| 层级 | ODS/DWD/DWS/ADS | dwd |
| 业务域 | trade/crm/product/finance | trade |
| 实体/主题 | order/customer/product | order |
| 粒度 | di(增量)/df(全量)/hourly(小时) | di |
| 完整示例 | dwd_trade_order_di | DWD层、交易域、订单主题、增量明细 |
字段命名规范(统一前缀规则):
| 字段类型 | 命名规则 | 示例 |
|---|---|---|
| 主键 | {实体}_id | order_id、customer_id |
| 时间 | {事件}_time | create_time、pay_time、update_time |
| 金额 | {指标}_amt | order_amt、discount_amt、tax_amt |
| 数量 | {指标}_cnt | product_cnt、order_cnt |
| 状态 | {实体}_status | order_status、delivery_status |
| 标识/标志 | {属性}_flag | is_deleted_flag、is_active_flag |
15.2 字段级标准治理
字段标准六要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| 1. 字段名称 | 英文名+中文名 | order_status / 订单状态 |
| 2. 字段类型 | 数据类型 | VARCHAR(2) |
| 3. 字段长度/精度 | 长度或精度 | 2位字符 |
| 4. 是否允许为空 | NOT NULL / NULL | NOT NULL |
| 5. 默认值 | 默认值 | '0' |
| 6. 业务定义 | 业务含义描述(最重要的要素) | 订单当前所处状态:0待支付/1已支付/2已发货/3已完成/4已取消。该字段在订单创建时由系统自动赋值为'0',支付完成后由支付回调更新为'1',发货后由WMS系统回调更新为'2'。 |
治理原则:字段没有业务定义,就等于该字段不应该存在。
15.3 主键与外键治理
主键设计原则:
| 原则 | 详细说明 | 反例 |
|---|---|---|
| 唯一性 | 主键值在全表唯一,不能重复 | 两条记录主键相同 |
| 非空性 | 主键不能为NULL | 主键为空 |
| 稳定性 | 主键一旦确定永远不变,不因业务变化而变更 | 用身份证号做客户主键(会升位) |
| 无业务含义 | 使用代理键(自增ID或UUID),不用业务字段 | 用订单号做物理主键(业务格式可能变化) |
为什么禁止使用有业务含义的字段做主键?
-
身份证号会升位(15位→18位)
-
订单号格式可能随业务规则变化
-
业务编码可能在合并/迁移时变化
-
业务含义变更会导致主键变更,影响所有关联表
正确做法:使用无含义代理键——自增数字ID或UUID(通用唯一标识符)。
外键关系设计:
-
事实表通过外键关联维度表
-
外键必须与维度表主键类型一致
-
事实表外键不能为空(除非业务场景明确允许)
-
所有外键关系必须记录在数据字典中
15.4 缓慢变化维度(SCD)治理
维度属性会随时间变化——客户地址变了、产品分类调了、组织架构改了。需要处理策略。
| 类型 | 处理方式 | 实现方法 | 适用场景 | 治理建议 |
|---|---|---|---|---|
| Type 1 | 直接覆盖,不保留历史 | UPDATE语句直接更新 | 错误修正、不关心历史变化 | 治理风险:历史事实关联会"算错" |
| Type 2 | 新增行,保留历史 | 增加start_date、end_date、is_current字段 | 需要追溯历史状态 | ✅ 核心维度强制使用 |
| Type 3 | 新增列,保留上一次 | 增加previous_value、current_value列 | 只关心上一次变化 | 不常用,仅限特定场景 |
Type 2详细实现方式:
sql
复制
下载
-- 客户维度表(带SCD Type 2)
CREATE TABLE dim_customer (
surrogate_key BIGINT AUTO_INCREMENT PRIMARY KEY, -- 代理键
customer_id VARCHAR(32) NOT NULL, -- 业务主键
customer_name VARCHAR(100),
city VARCHAR(50),
membership_level VARCHAR(20),
start_date DATE NOT NULL, -- 版本生效开始日期
end_date DATE DEFAULT '9999-12-31', -- 版本失效日期
is_current CHAR(1) DEFAULT 'Y', -- 是否当前版本
version INT DEFAULT 1, -- 版本号
change_reason VARCHAR(200) -- 变更原因
);
-- 每次变化时:
-- 1. 关闭旧版本
UPDATE dim_customer
SET end_date = '2026-06-21', is_current = 'N'
WHERE customer_id = 'CUS_0001' AND is_current = 'Y';
-- 2. 插入新版本
INSERT INTO dim_customer (customer_id, customer_name, city, membership_level,
start_date, end_date, is_current, version)
VALUES ('CUS_0001', '张三', '上海', '金牌',
'2026-06-21', '9999-12-31', 'Y', 2);
治理建议:客户、产品、组织架构等核心维度,强制使用SCD Type 2,确保历史数据可追溯。
15.5 建模治理检查清单
建模设计检查:
-
表命名是否符合
{层级}_{域}_{主题}_{粒度}规范? -
字段命名是否符合前缀规范(_id/_time/_amt/_cnt/_status)?
-
每个字段是否有完整的六要素定义(特别是业务定义)?
-
主键是否使用了无业务含义的代理键?
-
核心维度是否使用了SCD Type 2?
-
事实表是否可溯源到ODS原始数据?
-
外键关系是否完整且类型一致?
-
枚举值是否绑定了枚举值字典?
第16章 源头标准在数仓的"继承"机制
16.1 三大关键动作
源头侧制定的标准,数仓侧必须继承和执行。
① 标准同步
-
源头主数据标准发布后,自动同步到数仓标准库
-
数仓的标准字典与源头标准保持版本一致
-
标准变更时,数仓自动接收变更通知
-
数仓标准字典有版本管理,可追溯历史版本
② 落标检查
-
数仓DWD层的表设计,自动比对源头标准
-
不符合标准的字段,不允许上线
-
落标率按业务域、按表分别统计
-
落标率纳入数据治理月度报告
③ 一致性对账
-
数仓维度表 vs 源头主数据系统,定期对账
-
对账频率:每日自动对账
-
发现不一致,自动告警,推动源头整改
-
对账结果纳入数据质量报告
核心结论:"标准在源头制定,在数仓落地,在全链路贯通。"
第17章 元数据治理
17.1 元数据的定义与分类
元数据是"关于数据的数据",即描述数据的数据。
三类元数据:
| 类型 | 内容 | 使用者 | 价值 |
|---|---|---|---|
| 技术元数据 | 表名、字段名、字段类型、长度、主键、索引、ETL作业信息、调度依赖、数据量 | 开发工程师、数仓工程师 | 理解数据的技术结构、开发运维 |
| 业务元数据 | 字段的业务定义、指标口径、枚举值含义、数据Owner、数据更新频率、数据质量评分 | 业务分析师、数据产品经理 | 理解数据的业务含义、正确使用数据 |
| 管理元数据 | 数据创建时间、更新时间、访问权限、数据来源、数据质量评分、审计日志 | 数据管理员、安全团队 | 合规管理、安全管控、质量监控 |
17.2 两大核心能力
① 数据血缘
数据从源头到消费端的完整流转链路。
血缘示例:
text
复制
下载
ERP订单表 → ODS.ods_erp_order → DWD.dwd_order_detail → DWS.dws_trade_daily_gmv → ADS.ads_daily_report → BI报表
血缘的三个核心价值:
| 价值 | 说明 | 使用场景 |
|---|---|---|
| 影响分析 | 表结构要改了,快速知道影响哪些下游 | 变更管理、风险评估 |
| 问题溯源 | 报表数据错了,沿血缘逆向追踪快速定位问题环节 | 故障排查、质量追溯 |
| 质量追溯 | 异常数据从哪来的,沿血缘找到根源系统,推动源端整改 | 根因分析、源头治理 |
实操建议:如果暂时没有工具,先从手工做起——在ETL的SQL注释里写明来源表和目标表,然后用Excel维护一份血缘关系表。
② 数据资产目录
面向业务用户的"数据超市"。
业务用户可以在资产目录中做四件事:
| 功能 | 说明 | 示例 |
|---|---|---|
| 搜索 | 输入关键词,搜到相关数据表和指标 | 输入"订单"找到所有订单相关表 |
| 查看 | 点开一张表,看到所有字段、字段含义、数据样例 | 查看订单表的字段列表和说明 |
| 理解 | 看到指标的官方定义、计算逻辑、数据来源、责任人 | "GMV=支付成功的订单金额之和" |
| 申请 | 在线申请数据访问权限,走审批流程 | 一键申请数据权限 |
核心结论:没有元数据的数仓,就像没有地图和路标的城市,进去了出不来。
17.3 元数据治理落地四步法
| 步骤 | 详细动作 | 产出物 | 注意事项 |
|---|---|---|---|
| 1. 盘点元数据 | 梳理数仓中所有表、字段、ETL作业,建立完整清单;识别"无主数据"(不知道谁负责、不知道什么意思)的表 | 元数据清单 | 优先覆盖最核心的100张表 |
| 2. 补齐业务定义 | 为每一个字段加上"业务含义";枚举字段绑定枚举值字典;指标字段绑定指标定义 | 业务元数据 | 优先覆盖最常用的50个指标 |
| 3. 建立血缘关系 | 从手工开始,在ETL代码中用注释记录来源和目标;逐步升级到工具自动解析 | 血缘图谱 | 手工先跑起来,工具后续再上 |
| 4. 开放资产目录 | 搭建数据资产目录,让业务用户可以自助查询;定期更新,确保元数据与实际数仓保持一致 | 数据资产目录 | 元数据过期比没有更可怕 |
第18章 全链路数据质量管理
18.1 质量管理的四个维度
| 维度 | 定义 | 度量方式 | 常见问题 |
|---|---|---|---|
| 完整性 | 关键字段有没有缺失?有没有空值? | 空值率、缺失率 | 必填字段为空、记录数减少 |
| 准确性 | 数据值对不对?有没有异常? | 错误率、异常率 | 金额为负、年龄200岁 |
| 一致性 | 同一数据在不同系统/不同表中是否一致? | 对账通过率 | 客户ID对不上、汇总金额不一致 |
| 及时性 | 数据是否在规定时间内到达? | SLA达成率 | 报表延迟、数据更新滞后 |
18.2 三层防护体系
第一层:事前防控
把质量问题消灭在"写代码"之前。
| 防控措施 | 说明 | 技术实现 |
|---|---|---|
| Schema强约束 | 建表时强制校验字段类型、分区规则、命名规范 | DDL自动校验工具 |
| 字段类型预校验 | 源字段STRING→目标字段INT,系统自动警告或阻止 | ETL工具类型检查 |
| 分区规则预校验 | 确保分区字段、分区格式与命名规范统一 | 分区检查工具 |
| 数据标准前置检查 | 新建字段必须先注册到数据标准库 | 标准注册流程 |
核心思想:把质量问题消灭在"写代码"之前,而不是"跑数据"之后。
第二层:事中监控
配置质量校验规则,持续监控数据质量。
六类核心质量规则:
| 规则类型 | 说明 | 校验规则示例 | 不通过处理 |
|---|---|---|---|
| 完整性 | 关键字段非空 | order_id IS NOT NULL | 阻断 |
| 格式规范 | 数据格式正确 | create_time匹配yyyy-MM-dd HH:mm:ss | 阻断 |
| 值域校验 | 枚举值在字典内 | order_status∈('0','1','2','3','4') | 阻断 |
| 业务规则 | 业务逻辑合理 | order_amt > 0 | 告警 |
| 一致性 | 跨表/跨层对账 | DWS汇总值 = DWD明细汇总(差异<1%) | 告警 |
| 及时性/SLA | 数据按时产出 | ODS层每日8:00前同步完成 | 告警 |
规则配置原则:先配核心表的10-20条关键规则,不要一上来追求几百条。20条精准规则 > 200条无人问津的规则。
强弱规则与熔断机制:
| 机制 | 说明 | 适用场景 |
|---|---|---|
| 强规则 | 校验不通过则阻断下游任务执行,防止脏数据扩散 | 核心表入仓、关键字段完整性、外键关联完整性 |
| 弱规则 | 校验不通过仅告警,不影响任务执行 | 业务波动类指标、非核心字段质量、环比异常检测 |
| 熔断机制 | 强规则连续失败或数据量异常波动,自动阻断下游依赖任务 | 日活突降50%、入仓成功率骤降 |
分层告警体系:
| 告警级别 | 触发场景 | 通知方式 | 响应时效 | 责任人 |
|---|---|---|---|---|
| P0(严重) | 核心表入仓阻断、SLA即将打破 | 电话+短信+邮件+IM | 立即响应 | 数据Owner+上级 |
| P1(紧急) | 质量规则不通过、数据量异常 | 短信+邮件+IM | 2小时内 | 数据Owner |
| P2(警告) | 环比波动超阈值、非核心表告警 | 邮件+IM | 当天处理 | 值班工程师 |
告警配置最佳实践:
-
避免告警风暴:同一问题只发一次告警,聚合通知
-
分级路由:P0告警直接发给数据Owner和其上级,P2发给值班工程师
-
告警附带上文:告警消息中附带数据血缘链接
第三层:事后治理
| 步骤 | 详细动作 | 技术手段 |
|---|---|---|
| 1. 问题定位 | 报表数据错了→沿血缘逆向追踪→快速定位问题环节 | 血缘图谱、日志分析 |
| 2. 影响分析 | 沿血缘正向追踪→识别所有受影响的上下游→量化影响范围 | 血缘图谱、影响分析工具 |
| 3. 批量回溯 | 上游修复后,沿血缘一键触发所有下游任务重跑 | 调度系统批量重跑 |
| 4. 经验沉淀 | 根因分析结果回收入知识库,优化事前和事中规则 | 知识库管理、规则优化 |
闭环公式:发现问题的能力 × 解决问题的效率 = 质量管理的效果。
18.3 全链路分层校验策略
每一层有不同的校验重点,形成完整的质量防线:
| 层级 | 校验重点 | 校验规则示例 | 不合格处理 | 责任人 |
|---|---|---|---|---|
| 源系统→ODS | 源头质量 | 完整性、格式、值域、业务规则 | 阻断/告警/进异常区 | 数仓团队 |
| ODS→DWD | 标准化质量 | 枚举映射是否完整、单位转换是否正确 | 告警+标记 | 数仓团队 |
| DWD→DWS | 汇总质量 | 汇总前后总数是否一致、金额汇总是否匹配 | 告警+阻断 | 数仓团队 |
| DWS→ADS | 交付质量 | 指标值是否在合理区间、环比波动是否异常 | 告警+人工确认 | 数仓团队 |
| ADS→业务 | 终端质量 | 报表数据是否与DWS一致、SLA是否达标 | 告警+通知业务 | 数据产品团队 |
核心原则:每一层都是质量的"检查站",而不是"垃圾场"。坏数据不在任何一层被掩盖。 脏数据在哪一层发现,就在哪一层解决,绝不让它流到下一层。
第19章 数据安全与合规管理
19.1 安全治理的核心理念
数据安全治理确保数据的保密性、完整性、可用性。
安全 ≠ 封锁:安全的目标是"让对的人用对的数据做对的事",而不是"谁都不让用"。
19.2 分级分类
| 级别 | 名称 | 说明 | 示例 | 开放策略 | 保护措施 |
|---|---|---|---|---|---|
| L1 | 公开数据 | 对外可公开 | 公司简介、产品目录 | 完全公开 | 无特殊保护 |
| L2 | 内部数据 | 内部使用,无敏感信息 | 内部通知、组织架构 | 内部可查 | 基础访问控制 |
| L3 | 敏感数据 | 泄露会造成一定损失 | 客户信息、员工薪酬 | 脱敏后审批使用 | 脱敏+审批+加密 |
| L4 | 机密数据 | 泄露会造成重大损失 | 核心技术、财务数据 | 严格授权+全审计 | 强加密+严格权限+全审计 |
19.3 访问控制四层模型
| 层级 | 动作 | 技术实现 | 说明 |
|---|---|---|---|
| 第1层:身份认证 | 你是谁? | SSO、MFA(多因素认证) | 确保用户身份真实 |
| 第2层:授权 | 你能干什么? | RBAC(基于角色的访问控制) | 根据角色分配权限 |
| 第3层:审批 | 特定数据需要申请 | 在线审批流程 | 敏感数据额外审批 |
| 第4层:审计 | 你做了什么? | 全链路操作日志 | 所有操作可追溯 |
最小权限原则:用户只拥有完成工作所需的最小数据权限。
19.4 数据脱敏与加密
数据脱敏:在不影响业务使用的前提下,隐藏敏感信息。
| 脱敏技术 | 说明 | 示例 | 适用场景 |
|---|---|---|---|
| 掩码 | 部分字符替换为* | 张** → 张** | 姓名、手机号 |
| 泛化 | 降低精度 | 精确地址→仅保留区级 | 地址、年龄 |
| 假名化 | 替换为虚拟标识 | 张三→用户A | 测试环境 |
| 差分隐私 | 添加噪声保护个体 | 聚合统计加随机扰动 | 对外发布数据 |
| K-匿名 | 模糊化到无法识别个体 | 确保每条记录至少K个相同 | 发布数据集 |
数据加密:
-
传输加密:TLS(传输层安全协议)
-
存储加密:AES-256(高级加密标准-256位)
原则:能脱敏的尽量脱敏,能加密的必须加密。
19.5 操作审计
审计的核心内容:
-
谁访问了什么数据
-
什么时间访问的
-
从哪里访问的(IP、终端)
-
执行了什么操作(查询、导出、修改、删除)
-
返回了多少数据量
-
是否有异常行为(大量导出、非工作时间访问)
审计 ≠ 事后追责,更是事前威慑。 知道"有人在看",本身就是最好的约束。
19.6 合规遵从
国内核心法规:
| 法规 | 核心要求 | 技术实现 |
|---|---|---|
| 《数据安全法》 | 建立数据安全保护制度,实行数据分类分级 | 分级分类体系、安全管理制度 |
| 《个人信息保护法》 | 个人信息处理规则、用户权利、跨境传输 | 明示同意、用户权利响应、跨境安全评估 |
| 《网络安全法》 | 网络安全等级保护、关键信息基础设施 | 等保认证、基础设施安全加固 |
关键合规动作:
-
个人信息处理需获得用户明示同意
-
用户有权查阅、更正、删除自己的个人信息
-
跨境数据传输需通过安全评估
-
重大数据泄露需在规定时限内报告
核心结论:合规不是法务部门的事,是技术部门必须实现的事。 合规要求要转化为具体的系统和流程。
19.7 数仓全链路安全管控
| 数仓环节 | 安全管控措施 | 技术实现 |
|---|---|---|
| 源→ODS | 传输加密、源端认证 | TLS、API认证 |
| ODS层 | 分级打标、敏感数据识别 | 数据发现工具打标 |
| DWD层 | 数据脱敏、列级权限 | 动态脱敏、RBAC |
| DWS层 | 聚合后脱敏、行级过滤 | 行级安全策略(RLS) |
| ADS层 | 审批流程、操作审计 | 审批系统+审计日志 |
| 数据导出/共享 | 水印、二次脱敏、临时授权 | 数字水印、临时token |
第20章 数据集成与共享管理
20.1 四种共享模式
| 模式 | 说明 | 适用场景 | 技术实现 | 管控能力 |
|---|---|---|---|---|
| 数据服务(API) | 实时/准实时接口调用 | 系统间数据交互、微服务 | RESTful API、GraphQL | 高(可管控可审计) |
| 数据开放 | 开放数据集供下载或查询 | 内部数据分析 | 数据集市、自助分析平台 | 中(可管但难追溯) |
| 数据交换 | 两系统间的数据同步 | 系统间数据流转 | CDC、ETL、消息队列 | 中(依赖交换规范) |
| 数据市场 | 提供方和消费方交易平台 | 内外部数据交易 | 数据交易平台 | 高(平台化管控) |
20.2 数据集成的挑战与方案
核心挑战:
-
数据孤岛问题——系统间数据不通
-
异构数据源——不同数据库、不同格式
-
实时/批量需求差异
-
数据冲突——同一数据在不同源不一致
集成方案选型:
| 集成方式 | 说明 | 适用场景 | 典型工具 | 延迟 |
|---|---|---|---|---|
| 批量ETL | 定时批量抽取转换加载 | 非实时报表、数据仓库 | DataWorks、Informatica | T+1/小时 |
| 实时CDC | 变更数据捕获,准实时同步 | 实时数仓、数据同步 | Canal、Debezium、Flink | 秒级/分钟级 |
| 消息队列 | 异步解耦,事件驱动 | 系统间解耦、实时通知 | Kafka、RocketMQ | 毫秒级 |
| API集成 | 按需调用,实时查询 | 微服务、前端调用 | RESTful API、GraphQL | 实时(请求响应) |
| 数据联邦 | 虚拟视图,不物理移动数据 | 临时查询、探索性分析 | Presto、Trino | 实时(查询时) |
原则:没有"最好的"集成方式,只有"最适合业务场景"的集成方式。
20.3 数据共享治理的关键规则
| 规则类型 | 说明 | 示例 |
|---|---|---|
| 谁可以共享 | 明确数据共享的责任主体 | 数据Owner审批,无Owner不共享 |
| 向谁共享 | 明确数据消费方 | 内部部门/合作伙伴/公开 |
| 共享什么 | 明确可共享的数据范围 | 哪些表、哪些字段、哪些行 |
| 怎么共享 | 明确共享的技术方式 | API/文件/库表直连 |
| 怎么保护 | 共享中的安全措施 | 脱敏、水印、加密传输、限流 |
| 什么时间 | 共享的时效性要求 | 实时/每日/一次性 |
| 怎么停止 | 共享的撤回机制 | 授权到期自动失效、手动撤回 |
核心结论:数据共享不是"一给了之",而是"有管理、有监控、可追溯、可撤回"。
20.4 数据服务化
传统方式:业务要数据 → 开发导数据 → 邮件发送 → 无法管控、无法回收
服务化方式:业务申请数据服务 → 审批通过 → 通过API自助获取 → 全链路可审计、可回收
数据服务化的三大优势:
-
可控:每一次数据调用都有记录,可以随时停止
-
安全:数据不离开平台,只输出结果,降低泄露风险
-
高效:业务自助取数,不用找人、不用等邮件
第21章 ETL中的治理嵌入
21.1 ETL vs ELT
| 模式 | 顺序 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|---|
| ETL | 先转换,再加载 | 源系统性能受限、需要复杂转换逻辑、合规要求清洗前置 | 降低目标系统压力、数据质量提前保障 | 转换能力受限、灵活性较低 |
| ELT | 先加载,再转换 | 目标数仓性能强大、保留原始数据供探索分析 | 利用目标系统原生能力、保留原始数据 | 目标系统负载大、存储成本高 |
数仓实践中通常混合使用:
-
ODS→DWD:ELT方式更常用(原始数据先入仓,再在数仓内清洗标准化)
-
DWD→DWS/ADS:ETL方式更常用(汇总计算逻辑复杂,使用专门引擎处理)
21.2 ETL的三个阶段与治理嵌入
① Extract(抽取)
| 抽取方式 | 说明 | 适用场景 | 数据量 | 治理嵌入 |
|---|---|---|---|---|
| 全量抽取 | 每天将源表全部数据拉取到ODS | 小表或变化频率低的表(如维度表) | 较小 | 抽取时记录数据量、抽取时间 |
| 增量抽取 | 仅抽取新增/变更的数据 | 大表 | 较小 | 确保增量条件准确(时间戳/CDC) |
增量抽取的实现方式:
-
时间戳增量:
WHERE update_time > last_run,简单但依赖源系统时间戳 -
CDC(变更数据捕获) :监听源数据库日志,精准捕获变更,无侵入但需要数据库权限
-
消息队列:源系统主动推送变更事件(Kafka),实时性好但需要源系统改造
数据源类型:关系型数据库(MySQL/Oracle/SQL Server)、NoSQL(MongoDB/HBase)、文件(CSV/Parquet/JSON)、消息流(Kafka)
② Transform(转换) —— 治理落地最集中的环节
| 转换类型 | 详细说明 | 治理嵌入点 | 技术实现 |
|---|---|---|---|
| 数据清洗 | 去重(按业务主键去重,保留最新/最早一条)、NULL处理(设定默认值或基于业务规则填充)、异常值修正(金额为负→标记或修正) | 质量规则执行 | 清洗逻辑固化在ETL代码中 |
| 数据标准化(治理核心) | 枚举映射(各源系统枚举值→标准值)、单位统一(分→元)、格式统一(日期格式统一) | 标准字典引用 | 映射表维护、标准化规则配置 |
| 数据整合 | 多源合并(ERP+CRM→统一订单表)、主键统一(各源客户ID→主数据客户ID) | 主数据关联 | 主数据映射表、ID映射 |
| 数据汇总 | 按维度(日、地区、品类)聚合计算,生成DWS层汇总表 | 指标字典绑定 | 汇总逻辑固化,指标定义一致 |
③ Load(加载)
| 加载方式 | 说明 | 适用场景 | 治理嵌入 |
|---|---|---|---|
| 全量加载(Overwrite) | 每次覆盖目标表全部数据 | 维度表 | 加载前校验数据完整性 |
| 增量加载(Append/Upsert) | 无主键表→Append追加;有主键表→Upsert(有则更新,无则插入) | 事实表、增量明细表 | 加载前校验数据格式,加载后验证数据量 |
21.3 ETL工具选型
| 工具类型 | 特点 | 代表工具 | 适用场景 | 治理能力 |
|---|---|---|---|---|
| 可视化ETL工具 | 图形化设计,低代码 | Informatica、DataStage、Altova MapForce | 复杂映射、跨异构数据源 | 强(内置质量校验) |
| 开源ETL框架 | 灵活、成本低 | Apache NiFi、Airbyte、Kettle | 轻量级/预算有限场景 | 中(需二次开发) |
| 云原生数据集成 | 与云数仓深度集成 | DataArts Studio、DataWorks、Azure Data Factory | 云上数仓 | 强(一体化平台) |
| 代码式ETL | 用SQL/Python编写,版本可控 | dbt、Spark SQL | 开发能力强、要求版本控制 | 中(依赖开发者规范) |
选型建议:
-
先问"团队熟悉什么工具/语言"——选团队熟悉的工具降低学习成本
-
再问"目标数仓环境"——云原生数仓优先选云厂商自带的集成工具
-
再问"治理需求"——选自带质量监控、血缘管理的一体化平台
21.4 ETL中的治理嵌入全链路对照
| 数仓环节 | ETL阶段 | 治理嵌入点 | 技术实现 | 治理产出 |
|---|---|---|---|---|
| 源→ODS | Extract+Load | 入仓质量闸门 | 加载前置校验,不通过阻断 | 入仓质量报告 |
| ODS→DWD | Transform(清洗+标准化) | 标准落地+主数据关联 | 标准化规则+主数据映射 | 标准覆盖率报告 |
| DWD→DWS | Transform(汇总) | 指标口径统一 | 指标字典绑定汇总逻辑 | 指标字典 |
| DWS→ADS | Transform+Load | 权限+SLA保障 | 加载前置校验+加载后SLA验证 | 数据服务目录 |
核心结论:ETL不是纯技术活——它是治理的执行者,每一行转换逻辑都承载着标准的落地、质量的保障。
第22章 数据治理技术工具全景
| 工具类型 | 功能 | 适用执行层 | 代表工具 | 关键能力 |
|---|---|---|---|---|
| 数据标准管理 | 标准定义、发布、映射 | 源头侧+数仓侧 | DataArts Studio、Informatica | 标准版本管理、落标检查 |
| 主数据管理(MDM) | 主数据建模、分发、质量 | 源头侧 | Profisee、SAP MDG、Informatica MDM | 主数据建模、流程管理、质量监控 |
| 数据建模工具 | 源系统建模标准化 | 源头侧 | ERwin、PowerDesigner | 模型标准化、代码生成 |
| 数据校验引擎 | 前端+服务端校验 | 源头侧 | 自研规则引擎 | 校验规则配置、实时校验 |
| 元数据管理 | 自动采集血缘、资产目录 | 数仓侧 | OpenLineage、Apache Atlas、DataHub | 血缘自动解析、资产目录、搜索 |
| 数据质量平台 | 规则配置、校验、告警 | 数仓侧 | Great Expectations、DataArts Studio | 质量规则管理、报告生成、告警 |
| 数据安全管理 | 分级分类、脱敏、审计 | 两者 | Apache Ranger、Privacera | 动态脱敏、访问控制、审计日志 |
| 数据集成平台 | ETL/ELT、CDC、数据同步 | 两者 | DataWorks、Flink、Canal、Airbyte | 数据同步、实时采集、调度管理 |
| 数据服务化平台 | API封装、服务管理 | 数仓侧 | API网关、数据服务平台 | 服务封装、访问控制、调用审计 |
第四部分:组织、度量与实施路线图
第23章 数据治理组织架构
23.1 三级治理组织
| 层级 | 角色 | 构成 | 职责 |
|---|---|---|---|
| 决策层 | 数据治理委员会 | CEO/CDO牵头,各业务线主管参与 | 定方向、批预算、仲裁争议、跨部门协调 |
| 管理层 | 数据治理办公室 | 数据团队+各业务线骨干 | 定标准、推落地、监质量、管安全、促协同 |
| 执行层 | 各数据域责任人 | 各系统业务负责人+数据管理员 | 执行标准、保障质量、落实安全、反馈问题 |
23.2 各层级的详细职责
决策层(数据治理委员会) :
-
批准数据治理战略和年度计划
-
审批数据治理预算和资源投入
-
裁决跨部门数据争议(如主数据权威源归属)
-
审批数据治理相关制度和标准
-
定期听取数据治理工作报告
管理层(数据治理办公室) :
-
制定和维护数据标准、规范、流程
-
推动数据治理工作的落地执行
-
监控数据质量、安全、标准执行情况
-
组织数据治理培训和宣贯
-
编制数据治理月度/季度报告
-
协调跨部门数据治理问题
执行层(数据域责任人/数据Owner) :
-
执行数据标准和规范
-
保障本域数据的质量和安全
-
响应和处理数据质量问题
-
反馈数据治理中的问题和建议
-
参与数据治理培训和贯标
关键:给治理组织"实权" ——KPI里要有数据治理指标,数据治理指标与绩效考核挂钩。
第24章 数据治理的度量指标
24.1 四大类指标
| 维度 | 核心指标 | 计算方式 | 目标方向 | 评估频率 |
|---|---|---|---|---|
| 标准覆盖率 | 标准字段覆盖率 | 已标准化字段数/总字段数 | ↑上升 | 月度 |
| 标准覆盖率 | 指标字典引用率 | 引用指标字典的报表数/总报表数 | ↑上升(目标100%) | 月度 |
| 标准覆盖率 | 主数据贯标率 | 已贯标系统数/总系统数 | ↑上升(目标≥80%) | 季度 |
| 数据质量 | 入仓阻断率 | 被阻断的数据量/总入仓数据量 | ↓下降 | 每日 |
| 数据质量 | 异常数据数量 | 质量规则触发的异常总数 | ↓下降 | 每周 |
| 数据质量 | 质量规则通过率 | 通过校验的数据量/总校验数据量 | ↑上升 | 每日 |
| 安全合规 | 安全事件数 | 数据泄露/违规访问事件数量 | ↓下降(目标0) | 月度 |
| 安全合规 | 审计发现问题数 | 内部/外部审计发现的数据问题 | ↓下降 | 季度 |
| 安全合规 | 合规整改率 | 已整改问题数/应整改问题总数 | ↑上升(目标100%) | 月度 |
| 数据可用性 | 数据需求响应时长 | 从提出到交付的平均时间 | ↓下降 | 月度 |
| 数据可用性 | 报表争议次数 | 业务对数据准确性质疑的次数 | ↓下降 | 月度 |
| 数据可用性 | 数据服务调用量 | API/数据服务的调用次数 | ↑上升 | 月度 |
| 源头治理 | 源头录入阻断率 | 源头校验阻断的数据量/总录入量 | ↓下降 | 每日 |
| 源头治理 | 业务流程合规率 | 符合数据标准的流程节点数/总节点数 | ↑上升 | 季度 |
24.2 治理报告机制
月度报告(发给数据Owner和管理层) :
-
本月数据质量概况(各域质量趋势)
-
入仓阻断率变化趋势
-
标准覆盖率变化趋势
-
质量规则执行情况
-
上月问题整改进度
-
本月新增问题和风险预警
季度报告(发给数据治理委员会) :
-
治理工作整体进展
-
各域治理成效评估
-
问题和风险汇总
-
下季度工作计划
-
资源需求和改进建议
24.3 考核挂钩机制
-
数据Owner的KPI中须包含数据治理指标(权重≥15%)
-
部门绩效考核中数据质量作为扣分项
-
设立"数据质量标兵奖"进行正向激励
-
数据治理达标率与部门资源预算挂钩
第25章 数据治理实施路线图
| 阶段 | 时间 | 源头侧动作 | 数仓侧动作 | 验收标准 |
|---|---|---|---|---|
| 阶段一:基础建设 | 1-3个月 | 制定主数据标准+编码规范;建立前端&服务端录入校验;完成安全分级 | 建立分层架构;配置ODS入仓质量规则(10-20条) | 主数据标准发布、入仓质量规则上线运行 |
| 阶段二:试点落地 | 3-6个月 | 选一个业务域(建议订单域或客户域)做建模标准化改造;业务流程嵌入质量检查 | 该域数仓全链路治理(ODS→DWD→DWS→ADS);元数据采集+血缘解析 | 试点域数据一致性从<70%提升到≥95% |
| 阶段三:全面推广 | 6-12个月 | 贯标扩展到更多业务系统;源头质量规则全面内置;持续优化 | 各域扩展;数据服务化;安全审计体系全面运行 | 公司整体标准覆盖率达80%以上,质量规则通过率≥95% |
25.1 阶段一详细行动计划(1-3个月)
源头侧:
-
成立数据治理委员会,明确组织架构和权责
-
选定主数据范围(客户、产品、供应商、组织架构)
-
制定主数据编码规则(遵循四原则)
-
建立主数据全生命周期管理流程
-
在所有业务系统前端增加录入校验(必填/格式/值域)
-
在服务端数据模型层增加模型层校验
-
完成数据安全分级(L1-L4)
数仓侧:
-
建立ODS/DWD/DWS/ADS四层架构规范
-
在ODS入仓环节配置10-20条核心质量规则
-
建立质量规则的分级告警体系(P0/P1/P2)
-
搭建数据质量监控看板
验收标准:
-
主数据标准发布并启动贯标
-
前端录入校验覆盖所有核心业务系统
-
ODS入仓质量规则上线运行
-
质量看板可查看每日入仓质量报告
25.2 阶段二详细行动计划(3-6个月)
源头侧:
-
选定试点业务域(如订单域),进行数据模型标准化改造
-
表命名、字段命名统一为规范格式
-
为每个字段补充六要素定义(特别是业务定义)
-
核心业务流程嵌入数据质量检查节点
-
审批链嵌入数据质量前置校验
数仓侧:
-
试点域的全链路治理(ODS→DWD→DWS→ADS)
-
DWD层完成标准落地和主数据关联
-
DWS层完成指标口径统一和指标字典绑定
-
元数据采集工具上线,自动采集试点域血缘
-
试点域血缘图谱可视化展示
验收标准:
-
试点域数据一致性从<70%提升到≥95%
-
试点域标准覆盖率达到100%
-
试点域血缘关系清晰可查
-
指标字典发布并启动引用
25.3 阶段三详细行动计划(6-12个月)
源头侧:
-
贯标扩展到更多业务系统(分批进行,制定贯标时间表)
-
源头质量规则全面内置(五大类型规则全部配置)
-
贯标覆盖各二级/三级单位
-
持续优化标准体系(根据实践反馈迭代)
-
数据治理指标纳入部门KPI
数仓侧:
-
各业务域全链路治理扩展
-
数据服务化(API模式)全面上线
-
安全审计体系全面运行
-
数据资产目录开放给所有业务用户
-
数据治理报告自动化生成
验收标准:
-
公司整体标准覆盖率达80%以上
-
质量规则通过率≥95%
-
主要数据通过API服务化方式共享
-
数据治理成为日常工作的一部分
25.4 实施关键成功因素
| 因素 | 说明 | 重要性 |
|---|---|---|
| 高层支持 | CEO/CDO牵头,给予预算和资源 | ⭐⭐⭐⭐⭐ |
| 业务参与 | 业务部门担任数据Owner,深度参与 | ⭐⭐⭐⭐⭐ |
| 先试点后推广 | 选一个域打通闭环,用效果说话 | ⭐⭐⭐⭐ |
| 工具辅助 | 在关键节点使用合适工具,提高效率 | ⭐⭐⭐ |
| 持续优化 | 标准不是一成不变的,需要迭代 | ⭐⭐⭐ |
| 考核挂钩 | 将治理指标纳入绩效考核 | ⭐⭐⭐⭐ |
第26章 常见误区与避坑指南
| 误区 | 具体表现 | 正确做法 | 后果 |
|---|---|---|---|
| ❌ 数据治理是IT部门的事 | 业务系统部门不参与,全推给数仓 | ✅ 业务担任数据Owner,IT提供技术支撑 | 业务不参与,标准无法落地,治理流于形式 |
| ❌ 一上来就买大平台 | 以为买了工具就解决了问题 | ✅ 先定流程、建组织,再选工具 | 工具买回来用不起来,投资浪费 |
| ❌ 想做大而全,一步到位 | 追求一次性治理所有数据 | ✅ 选1-2个核心业务域做试点,出效果再扩展 | 项目周期拉长,看不到价值,预算被砍 |
| ❌ 先建数仓,再补治理 | 把治理当"可选项" | ✅ 治理从第一天就开始,标准先行 | 数仓建好后面临大量返工,成本翻倍 |
| ❌ 数据安全=全部封锁 | 一刀切谁都不让用 | ✅ 分级分类、动态脱敏、安全地开放 | 安全有了,但数据用不起来,价值无法释放 |
| ❌ 数据共享=直接给数据包 | 一给了之,无法管控 | ✅ 服务化共享、可控可审计可撤回 | 数据泄露风险,共享出去无法收回 |
| ❌ 源头治理是数仓团队的事 | 业务系统不改造,等数仓来治理 | ✅ 源头治理由业务系统建设部门主导,数仓团队提供标准输入 | 源头脏数据持续产生,数仓疲于奔命 |
| ❌ 编码规范定好就行,不需要贯标 | 发了文件就结束 | ✅ 编码规范需要持续贯标,手把手指导落地 | 规范停留在纸面,各系统依然各搞一套 |
| ❌ 前端校验做了就够了,不需要服务端 | 只做页面校验 | ✅ 前端+服务端双向校验,纵深防御 | API/导入绕过前端,脏数据直接入库 |
| ❌ 源头质量规则和数仓质量规则重复 | 二选一 | ✅ 两者分工不同,互为补充,不可替代 | 缺少任何一层,质量防线都有漏洞 |
| ❌ 元数据等数仓建完再补 | 先建表,后补文档 | ✅ 每建一张表就积累元数据 | 数仓建完,补元数据的工作量巨大且无人愿做 |
| ❌ 质量校验只做一次 | 只在ODS做校验 | ✅ 全链路分层校验 | 中间层质量劣化无法发现 |
第27章 治理检查清单总汇
27.1 源头侧检查清单(业务系统建设部门使用)
主数据管理:
-
主数据标准是否已制定并发布?发布日期是什么?
-
主数据编码规则是否遵循"简单、唯一、稳定、扩展"四原则?
-
主数据全生命周期管理流程(申请→校验→审核→发布→变更→冻结→归档)是否已建立并嵌入系统?
-
主数据贯标是否已覆盖各二级/三级单位?贯标覆盖率是多少?(目标≥80%)
-
主数据质量是否有定期评估?评估频率是?
-
主数据变更是否有审批和影响分析?
-
主数据标准的Owner是否已明确指定?
模型标准化:
-
核心业务系统的数据模型是否已完成标准化改造?改造进度是?
-
表命名是否符合
{层级}_{业务域}_{实体}_{粒度}规范? -
字段命名是否符合前缀规范(_id/_time/_amt/_cnt/_status)?
-
每个字段是否有完整的六要素定义(特别是业务定义)?
-
枚举值字典是否已建立并在各系统间保持一致?
-
是否有数据建模评审流程?评审覆盖率是多少?
录入校验:
-
前端录入是否配置了必填/格式/值域/逻辑/唯一性校验?
-
前端校验规则的覆盖率是多少?(覆盖了多少核心字段)
-
服务端数据模型是否配置了模型层校验规则(安全兜底)?
-
校验不通过的数据是否有明确提示和处理流程?
-
异常数据的处理是否有记录和追踪?
-
录入校验规则是否有定期review和更新机制?
流程治理:
-
核心业务流程是否嵌入了数据质量检查节点?
-
审批流程是否嵌入了数据质量前置校验?
-
业务流程变更时,数据标准是否同步更新?
-
异常单据是否有明确的处理流程和责任人?
-
流程中各节点的数据质量指标是否可度量?
编码与质量:
-
编码规范是否全公司统一并强制执行?
-
源头数据质量规则是否已内置到业务系统?
-
源头质量规则的种类和数量是多少?
-
数据Owner和权责是否已明确界定?
-
敏感数据录入时是否进行了分级标记?
-
新系统上线前是否经过了数据标准合规评审?
27.2 数仓侧检查清单(数据治理团队使用)
分层设计检查:
-
每张表是否都归属于正确的层级(ODS/DWD/DWS/ADS)?
-
ODS层是否保留了所有源系统原始数据?
-
DWD层是否完成了标准化和主数据关联?
-
DWS层的指标是否都绑定了指标字典?
-
ADS层是否都引用了DWS层指标(无直接计算)?
建模设计检查:
-
表命名是否符合
{层级}_{域}_{主题}_{粒度}规范? -
字段命名是否符合前缀规范(_id/_time/_amt/_cnt/_status)?
-
每个字段是否有完整的六要素定义(特别是业务定义)?
-
主键是否使用了无业务含义的代理键?
-
核心维度是否使用了SCD Type 2?
-
事实表是否可溯源到ODS原始数据?
-
外键关系是否完整且类型一致?
标准与主数据:
-
数仓是否继承了源头的数据标准?
-
标准覆盖率是否达到目标?(目标≥80%)
-
DWD层维度表是否100%来自主数据系统?
-
是否存在"孤儿维度"(不在主数据中的记录)?
-
维度表与主数据系统的一致性对账是否定期执行?
元数据与血缘:
-
元数据是否已自动采集并展示血缘关系?
-
数据资产目录是否已开放给业务用户?
-
血缘覆盖率是多少?(覆盖了多少表)
-
业务元数据(字段定义、指标口径)是否已补齐?
质量校验:
-
ODS入仓是否配置了质量校验规则?
-
DWD层是否配置了标准化质量校验规则?
-
DWS层是否配置了一致性对账规则?
-
ADS层是否配置了SLA监控规则?
-
强弱规则和熔断机制是否已配置?
-
质量规则的有效性是否定期评估?
安全与共享:
-
安全分级、脱敏、审计是否已配置?
-
数据是否通过服务化方式对外共享?
-
数据共享是否有审批流程和审计日志?
-
敏感数据的访问是否都记录在审计日志中?
-
数据水印是否已部署?
报告与持续运营:
-
每月数据质量报告是否已发出?
-
数据治理指标是否已纳入月度报告?
-
上月发现的问题是否已整改闭环?
-
治理效果是否已向管理层汇报?
-
治理组织是否持续运作并有定期会议?
第28章 核心心法与行动呼吁
28.1 双执行层治理的核心心法
五个核心心法:
-
源头控增量 —— 在业务系统端把好第一道关,不让问题数据"出生"。前端+服务端双向校验,让脏数据进不来。
-
数仓治存量 —— 在数据平台端治理历史遗留问题,保障融合数据可信。全链路分层校验,不让坏数据流到下一层。
-
标准定语言 —— 全公司说同一种"数据语言",从源头到数仓一脉相承。标准在源头制定,在数仓落地,在全链路贯通。
-
编码立身份 —— 一物一码、一码贯通,让数据跨系统可识别、可追溯。编码管理是数据治理的"奠基工程"。
-
协同成闭环 —— 源头发现问题→数仓校验确认→推动源头整改→源头规则升级,形成治理飞轮。闭环迭代,持续优化。
28.2 总结与行动呼吁
源头定标准,数仓验质量;录入有校验,流转有规则;一物唯一码,全链可追溯。
四条行动建议:
-
标准先行,源头开始 —— 主数据标准和编码规范是第一粒扣子,必须最早启动。没有标准就没有治理。
-
双向校验,纵深防御 —— 前端校验提体验,服务端校验保安全,两者缺一不可。只有前端校验,脏数据可以从API进来;只有服务端校验,用户体验差。两者结合才是最佳实践。
-
分层治理,各司其职 —— 源头侧管"出生质量",数仓侧管"融合质量",不重叠、不遗漏。源头侧由业务系统建设部门主导,数仓侧由数据治理团队负责。
-
小步快跑,闭环迭代 —— 选一个业务域,把源头侧6项+数仓侧6项全部跑通,再横向扩展。用效果说话,拿数字证明。
附录一:核心术语表
| 术语 | 英文 | 定义 |
|---|---|---|
| 数据治理 | Data Governance | 对数据资产进行管理、控制和监督的体系 |
| 源头侧治理 | Source-side Governance | 在数据产生的业务系统端进行的数据治理活动 |
| 数仓侧融合处理 | Data Warehouse-side Processing | 在数据仓库/数据平台端进行的数据治理活动 |
| 主数据 | Master Data | 跨系统、跨部门共享的核心业务实体数据 |
| 主数据管理 | MDM (Master Data Management) | 对主数据进行建模、分发、质量管理的体系 |
| 数据标准 | Data Standard | 数据的"普通话"——统一定义、格式、编码、口径 |
| 数据血缘 | Data Lineage | 数据从源头到消费端的完整流转链路 |
| 编码体系 | Coding System | 数据唯一身份标识的生成和管理规则 |
| 元数据 | Metadata | 关于数据的数据,描述数据的数据 |
| 数据质量 | Data Quality | 数据满足业务需求的程度的度量,包括完整性、准确性、一致性、及时性 |
| 缓慢变化维度 | SCD (Slowly Changing Dimension) | 维度属性随时间变化,需要特殊处理策略 |
| 事实表 | Fact Table | 记录业务事件的度量数据,行多列少、数值化 |
| 维度表 | Dimension Table | 描述业务对象的属性数据,列多行少、描述性 |
| 星形模式 | Star Schema | 一个事实表+多个维度表的建模模式,数仓首选 |
| ETL | Extract-Transform-Load | 抽取-转换-加载的数据处理流程 |
| ELT | Extract-Load-Transform | 抽取-加载-转换的数据处理流程 |
| CDC | Change Data Capture | 变更数据捕获技术 |
| RBAC | Role-Based Access Control | 基于角色的访问控制 |
| SLA | Service Level Agreement | 服务等级协议 |
附录二:Q&A常见问题与参考回答
| 问题 | 参考回答 |
|---|---|
| 业务系统不愿意改造怎么办? | 用"治理效果"说话。选一个试点系统做标准化改造和录入校验,对比改造前后的数据质量指标(错误率、返工时间、数据争议次数),用数据说服业务。同时,把数据治理纳入系统建设的合规要求——新系统上线前必须通过数据标准评审,不通过不予上线。 |
| 主数据标准和数仓标准是什么关系? | 主数据标准在源头制定,数仓标准是对主数据标准的"继承"——数仓侧执行主数据标准,不做二次定义。保证"标准在源头制定,在数仓落地,在全链路贯通"。数仓侧的标准覆盖率就是要检验源头标准在数仓侧的执行情况。 |
| 贯标遇到阻力怎么办? | 中天鹏宇的经验:深入二三级单位,手把手指导贯标,而不是只发文件。需要反复沟通、培训、解决实际困难。从业务场景出发,讲明白统一编码带来的好处(减少数据对账时间、提升报表准确性)。不搞一刀切,给贯标预留过渡期(3-6个月)。 |
| 前端校验和服务端校验都要做吗? | 都要做。前端校验提升用户体验、减少无效提交;服务端校验是安全兜底,所有写入方式一视同仁。两者缺一不可——只有前端校验,API/导入可以绕过;只有服务端校验,用户体验差,用户会在录入环节产生大量无效操作。 |
| 存量系统太多,改造不过来怎么办? | 不要一上来改造所有系统。选2-3个核心业务系统先做,用结果证明价值。存量系统可以通过"ODS适配层"做兼容——在ODS层做映射转换,先让存量数据能进数仓,再逐步推动源头改造。给存量系统充分的过渡期,分批次推进。 |
| 源头治理成熟度怎么评估? | 参考五阶段模型:第一阶段编码管理→第二阶段主数据管理→第三阶段静态数据治理→第四阶段源端+末端协同→第五阶段智能全域治理。对照各阶段的特征和标志性产出,评估当前所处阶段,明确下一阶段目标和改进方向。 |
| 元数据工具太贵买不起怎么办? | 先用开源方案(OpenLineage+Apache Atlas)或手工维护(Excel+Git),先跑流程和规范。核心是"每建一张表就写清楚业务定义"这个习惯,工具只是辅助。手工维护虽然累,但能让团队养成好习惯。有预算后再上工具。 |
| 质量规则多了维护成本太高怎么办? | 先配核心的10-20条规则,覆盖最重要的表(核心业务表、核心报表依赖的表)。每月评估规则的告警率和价值,没价值的规则果断下线。20条精准规则 > 200条没人看的规则。规则的价值不在于数量,在于覆盖了最关键的数据风险点。 |
| 数据治理的ROI怎么衡量? | 从四个维度衡量:效率提升(数据需求响应时长下降X%)、质量改善(数据错误率下降X%)、成本节约(返工时间减少X人天/月)、业务价值(因数据质量问题导致的业务损失减少X万元/年)。建议在启动治理前记录基线数据,治理实施后定期对比。 |
| 数据治理需要多长时间才能见效? | 分阶段看:1-3个月可以见到初步效果(ODS入仓质量规则上线,脏数据被阻断);3-6个月试点域完成全链路治理,数据一致性显著提升;6-12个月全面推广,公司整体数据质量达到可信水平。建议"小步快跑",不要期待一步到位,每个阶段都要有可见的成果。 |
全文完
338

被折叠的 条评论
为什么被折叠?



