数据体系(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)
数据质量平台 = 企业的数据“健康管理系统”
核心目标:
- 保证数据可信:确保数据准确、完整、一致、及时
- 发现数据异常:提前预警业务或系统异常
- 支持数据治理:形成可追溯、可审计的质量管理体系
数据质量是 数据可信体系的基础能力,是指标平台、BI、风控、业务决策的前提。
二、数据质量维度
企业级数据质量通常包括以下维度:
| 维度 | 含义 | 示例 |
|---|---|---|
| 完整性 (Completeness) | 数据是否缺失 | 订单表中缺少订单号或用户ID |
| 准确性 (Accuracy) | 数据是否真实、正确 | 金额字段计算是否正确,与交易系统一致 |
| 一致性 (Consistency) | 数据在不同系统/表/字段间是否一致 | 同一用户ID在 CRM 和订单系统匹配 |
| 唯一性 (Uniqueness) | 数据是否存在重复 | 订单号、用户ID重复记录 |
| 时效性 / 新鲜度 (Timeliness) | 数据是否按时到达 / 更新 | 日报指标延迟、实时埋点事件延迟 |
| 完整规则 / 业务规则 (Conformance / Validity) | 是否满足业务约束 | 性别字段只能为 ‘M’/’F’;金额 >= 0 |
| 异常检测 / 偏差监控 (Anomaly Detection) | 数据波动是否异常 | 当日活跃用户骤降、GMV异常波动 |
数据质量指标可以是静态规则,也可以是智能异常检测。
三、核心功能模块
一个企业级 DQ 平台通常包含以下模块:
-
数据探查与分析
- 数据采集与概览
- 数据分布、缺失率、异常值分析
- 支持数据样本预览和探索
-
规则管理
- 静态规则:字段必填、唯一约束、值域检查
- 动态规则:增量校验、数据趋势偏差检测
- 复杂业务规则:跨表关联校验、指标一致性校验
-
指标计算
- 数据质量得分计算
- 完整率、准确率、唯一率等自动统计
- 支持批量和流式数据校验
-
监控与告警
- 实时或周期性质量指标监控
- 异常告警(邮件、Slack、Webhook)
- 支持 SLA / KPI 报警
-
血缘与追溯
- 数据源 → ETL → 数据仓库 → BI
- 发现异常 → 定位源头 → 回溯到源表 / 任务
-
报表与可视化
- 数据质量仪表盘
- 趋势分析、质量评分、异常统计
- 支持按业务域、数据源分类展示
-
治理与审计
- 数据质量规则版本管理
- 异常处理记录
- 权限控制与审计日志
四、技术架构示意
数据源层
├─ 关系型数据库(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的关系
- 元数据平台:提供字段、表、血缘信息 → DQ 校验规则可自动生成
- ETL / ELT:执行数据转换 → DQ 对作业输出进行质量校验
- 指标平台:计算指标前先进行 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平台联合使用。
八、企业价值
- 数据可信保障:保证数据指标、报表、分析结果可信
- 异常早期发现:防止错误数据下发到业务或决策系统
- 端到端可追溯:快速定位数据异常根因
- 统一治理:统一规则、统一血缘、统一告警
- 降低成本:减少人工排查错误,提高数据利用效率
- 支撑业务决策:确保 KPI/BI/数据分析可靠
九、实践建议
-
先管关键表 / 关键字段
- 核心业务表、核心指标字段优先校验
-
从规则简单到复杂
- 先覆盖完整性、唯一性,再覆盖业务规则、异常检测
-
结合指标平台
- 指标计算前先做 DQ 校验,保证指标可靠
-
告警与自动化处理
- 异常触发自动告警,并记录审计,部分可自动修复
-
与元数据平台联动
- 自动获取字段、表、血缘信息,动态生成校验规则
