数据体系(Data Platform)

目标:让数据从“可采集”→“可信”→“可复用”→“可决策”

P0(数据基础)
├── 数据采集 / 埋点体系
├── 数据中台(数据湖 / 数据仓库)
├── ETL / ELT 平台(Airflow)

P1(数据可信)
├── 元数据平台(Data Catalog)
├── 指标平台
├── 数据质量平台(DQ)

P2(数据服务)
├── 数据 API 平台
├── 报表平台(BI)
├── 数据可视化平台

P3(数据资产化)
├── 数据资产管理
├── 数据权限与安全治理
├── 特征平台(Feature Store)

中间件体系的本质不是“技术选型”,而是“运行能力抽象”:

数据质量平台(Data Quality Platform, DQ)

好的,我们来系统、详细地展开 数据质量平台(Data Quality Platform, DQ),从概念、核心功能、架构设计、指标类型、实现方式到企业价值,以及它与元数据平台、指标平台、ETL/ELT的关系。


一、什么是数据质量平台(DQ)

数据质量平台 = 企业的数据“健康管理系统”

核心目标:

  1. 保证数据可信:确保数据准确、完整、一致、及时
  2. 发现数据异常:提前预警业务或系统异常
  3. 支持数据治理:形成可追溯、可审计的质量管理体系

数据质量是 数据可信体系的基础能力,是指标平台、BI、风控、业务决策的前提。


二、数据质量维度

企业级数据质量通常包括以下维度:

维度 含义 示例
完整性 (Completeness) 数据是否缺失 订单表中缺少订单号或用户ID
准确性 (Accuracy) 数据是否真实、正确 金额字段计算是否正确,与交易系统一致
一致性 (Consistency) 数据在不同系统/表/字段间是否一致 同一用户ID在 CRM 和订单系统匹配
唯一性 (Uniqueness) 数据是否存在重复 订单号、用户ID重复记录
时效性 / 新鲜度 (Timeliness) 数据是否按时到达 / 更新 日报指标延迟、实时埋点事件延迟
完整规则 / 业务规则 (Conformance / Validity) 是否满足业务约束 性别字段只能为 ‘M’/’F’;金额 >= 0
异常检测 / 偏差监控 (Anomaly Detection) 数据波动是否异常 当日活跃用户骤降、GMV异常波动

数据质量指标可以是静态规则,也可以是智能异常检测。


三、核心功能模块

一个企业级 DQ 平台通常包含以下模块:

  1. 数据探查与分析

    • 数据采集与概览
    • 数据分布、缺失率、异常值分析
    • 支持数据样本预览和探索
  2. 规则管理

    • 静态规则:字段必填、唯一约束、值域检查
    • 动态规则:增量校验、数据趋势偏差检测
    • 复杂业务规则:跨表关联校验、指标一致性校验
  3. 指标计算

    • 数据质量得分计算
    • 完整率、准确率、唯一率等自动统计
    • 支持批量和流式数据校验
  4. 监控与告警

    • 实时或周期性质量指标监控
    • 异常告警(邮件、Slack、Webhook)
    • 支持 SLA / KPI 报警
  5. 血缘与追溯

    • 数据源 → ETL → 数据仓库 → BI
    • 发现异常 → 定位源头 → 回溯到源表 / 任务
  6. 报表与可视化

    • 数据质量仪表盘
    • 趋势分析、质量评分、异常统计
    • 支持按业务域、数据源分类展示
  7. 治理与审计

    • 数据质量规则版本管理
    • 异常处理记录
    • 权限控制与审计日志

四、技术架构示意

数据源层
 ├─ 关系型数据库(MySQL/Oracle/PostgreSQL)
 ├─ NoSQL(MongoDB/Cassandra)
 ├─ 消息队列(Kafka/RocketMQ)
 └─ 文件/对象存储(S3/MinIO)

数据采集与校验层
 ├─ 批量校验(Spark / SeaTunnel / Flink Batch)
 ├─ 实时校验(Flink / Kafka Streams / Flink CDC)
 └─ 校验规则引擎(规则库 + 自定义函数)

数据质量存储层
 ├─ 数据质量指标表(RDBMS / 时序 DB)
 ├─ 异常记录表
 └─ 元数据表(字段规则、任务血缘)

监控与服务层
 ├─ 数据质量仪表盘(Web UI)
 ├─ 告警服务(邮件、IM、Webhook)
 ├─ API/SDK(数据质量指标访问)
 └─ 审计和治理服务

核心理念:采集 + 校验 + 存储 + 可视化 + 告警 + 审计


五、指标类型

类别 示例指标 计算方式
完整性 订单表缺失订单号比例 count_null(订单号)/count(*)
唯一性 用户ID重复数 count(user_id) - count(distinct user_id)
一致性 同一指标在多系统差异 abs(GMV_ODS - GMV_DW)/GMV_ODS
准确性 金额字段与交易系统对比 compare(订单金额, 支付金额)
时效性 日报延迟分钟数 timestamp_diff(ETL完成时间,指标应完成时间)
异常检测 DAU突降 z-score / 历史趋势模型
业务规则 金额 >= 0,性别字段仅 M/F SQL / DSL 校验

六、与元数据平台、指标平台、ETL的关系

  1. 元数据平台:提供字段、表、血缘信息 → DQ 校验规则可自动生成
  2. ETL / ELT:执行数据转换 → DQ 对作业输出进行质量校验
  3. 指标平台:计算指标前先进行 DQ 校验 → 确保指标可靠

可以形成端到端数据可信闭环:

数据源 → ETL → 数据仓库/湖 → DQ校验 → 指标平台 → BI/业务

七、开源与商业产品参考

类型 典型产品 特点
开源 Great Expectations Python规则库驱动,灵活,支持批/流校验
  Deequ (AWS) Scala + Spark,批量数据质量检测,指标化管理
  OpenDQ / Soda / Apache Griffin 数据质量规则管理、告警、可视化
商业 Collibra DQ、Talend Data Quality、Informatica DQ 企业级质量规则、SLA、告警、审计、治理全栈

企业实践中,通常 DQ 平台会与 元数据平台 + 指标平台 + ETL平台联合使用。


八、企业价值

  1. 数据可信保障:保证数据指标、报表、分析结果可信
  2. 异常早期发现:防止错误数据下发到业务或决策系统
  3. 端到端可追溯:快速定位数据异常根因
  4. 统一治理:统一规则、统一血缘、统一告警
  5. 降低成本:减少人工排查错误,提高数据利用效率
  6. 支撑业务决策:确保 KPI/BI/数据分析可靠

九、实践建议

  1. 先管关键表 / 关键字段

    • 核心业务表、核心指标字段优先校验
  2. 从规则简单到复杂

    • 先覆盖完整性、唯一性,再覆盖业务规则、异常检测
  3. 结合指标平台

    • 指标计算前先做 DQ 校验,保证指标可靠
  4. 告警与自动化处理

    • 异常触发自动告警,并记录审计,部分可自动修复
  5. 与元数据平台联动

    • 自动获取字段、表、血缘信息,动态生成校验规则