3. 数据质量审计流程:审计流程总览

数据质量审计不是一次性的检查,而是一个闭环、可重复的治理过程。本章将完整拆解审计流程的六个核心阶段——计划、采集、分析、评估、修复、监控,明确每个阶段的输入输出、关键活动以及角色职责,为后续章节的 SQL 实战打下流程基础。

3.1 六阶段审计流程总览

整个审计流程以“发现问题→定位根因→修复缺陷→持续预防”为循环逻辑,每个阶段都依赖前一阶段的输出,并产生下一阶段所需的输入。

数据质量审计六阶段流程总览 ① 计划 Plan ② 采集 Collect ③ 分析 Analyze ④ 评估 Evaluate ⑤ 修复 Fix ⑥ 监控 Monitor 反馈闭环:监控结果驱动下一轮计划调整 💡 流程特点: 每个阶段都有明确的输入/输出和角色分工;修复完成后必须回归监控,形成持续改进的治理闭环。

3.2 各阶段输入、输出与核心活动

下表详细列出每个阶段的输入工件、输出产物以及核心活动,帮助团队在落地时对齐交付物。

阶段 输入 核心活动 输出
① 计划 业务需求文档、数据字典、元数据清单 确定审计范围、选择质量维度、制定规则模板、分配资源 审计计划书、质量规则清单、角色分工表
② 采集 审计计划书、源数据库连接信息、SQL 脚本模板 编写采集 SQL、执行数据抽样、收集元数据统计信息 原始数据集、抽样结果表、采集日志
③ 分析 原始数据集、质量规则清单、阈值配置 运行质量维度 SQL、计算完整性/准确性/一致性等指标、标记异常记录 质量分析报告、异常明细表、维度评分
④ 评估 质量分析报告、业务容忍度阈值、历史基线 对比阈值、判定严重等级、确定是否触发修复流程 评估结论书、优先级排序列表、修复决策
⑤ 修复 评估结论书、异常明细表、数据血缘图谱 编写修复 SQL、执行数据订正、回滚验证、更新元数据 修复脚本、变更记录、修复后验证报告
⑥ 监控 修复后验证报告、监控规则、告警配置 部署周期性监控 SQL、设置告警阈值、生成监控看板 监控看板、告警记录、周期性质量报告
实践要点:“采集”阶段最容易出现性能问题。建议对千万级以上的表使用 TABLESAMPLE 或 WHERE 条件过滤进行分层抽样,避免全表扫描导致生产库抖动。

3.3 角色与职责矩阵

数据质量审计需要跨团队协作。以下矩阵明确了数据治理委员会、数据所有者、数据管家、数据分析师和数据工程师在六个阶段中的主要职责。

角色与职责矩阵(RACI 简化版) 角色 / 阶段 ① 计划 ② 采集 ③ 分析 ④ 评估 ⑤ 修复 ⑥ 监控 治理委员会 A I I A I A 数据所有者 R C C R A I 数据管家 C R R R R R 数据分析师 C C R R C C 数据工程师 C R C C R R R = 执行者 (Responsible)    A = 批准者 (Accountable)    C = 咨询者 (Consulted)    I = 知情者 (Informed)
关键角色说明:
  • 数据管家 (Steward) 是审计流程的核心执行者,负责编写 SQL 脚本、执行采集与分析、实施修复。
  • 数据所有者 (Owner) 对评估结论和修复决策拥有最终批准权。
  • 数据工程师 在采集和监控阶段提供技术支撑,如优化查询性能、配置监控作业。

3.4 流程落地检查清单

在启动第一次审计前,建议团队对照以下清单完成准备工作:

  1. 计划阶段:是否已定义至少 3 个核心质量维度(如完整性、准确性、一致性)?
  2. 采集阶段:是否已确定抽样策略(如 5% 随机抽样 + 分层条件)?
  3. 分析阶段:是否已准备 SQL 规则模板库(如空值检测、重复检测、外键违规检测)?
  4. 评估阶段:是否已与业务方确认可接受的阈值(如客户表完整率 ≥ 99.5%)?
  5. 修复阶段:是否已制定回滚方案和变更审批流程?
  6. 监控阶段:是否已配置至少一个周期性监控看板(如每日凌晨自动运行)?
常见陷阱:跳过“评估”阶段直接进入修复,容易导致修复优先级混乱。务必先根据业务影响度对异常进行 P1~P4 分级,再决定修复顺序。

3.5 流程与 SQL 的衔接点

在后续章节中,每个阶段都会对应具体的 SQL 实现。以下是各阶段与 SQL 技术的映射关系:

阶段 典型 SQL 技术 对应章节
② 采集 SELECT ... TABLESAMPLE、ROW_NUMBER() 分层抽样 第 5 章
③ 分析 COUNT(NULL)、DISTINCT、OUTER JOIN 检测 第 6~8 章
⑤ 修复 UPDATE ... JOIN、MERGE、CTE 回滚 第 10~12 章
⑥ 监控 CREATE EVENT、SCHEDULER、VIEW 看板 第 13 章