数据治理

数据质量监控命名规范

📐 一、标准化命名规范(4段式结构)

[业务实体]_[字段/主题]_[质量维度]_[规则标识]
段位说明规范示例
1. 业务实体数据归属的主表/业务对象统一中文,去除前缀冗余联系人联系方式联系方式来源
2. 字段/主题校验的具体字段或逻辑组字段用英文名,逻辑组用中文company_info_id锁定信息默认标识
3. 质量维度数据质量的核心分类(见下方字典)固定枚举值完整性有效性一致性唯一性
4. 规则标识具体校验逻辑的简明描述去除“检测/性”等冗余词外键关联非空联动逻辑格式校验

📊 二、质量维度标准字典(建议固化到元数据)

维度英文适用场景典型规则
完整性Completeness数据是否存在、是否缺失、是否孤立非空、外键关联、孤儿数据、记录数波动
有效性Validity数据是否符合格式/码值/业务定义格式校验、枚举值/码值范围、正则匹配
一致性Consistency跨字段/跨表逻辑是否自洽状态与时间联动、默认值唯一、逻辑互斥
唯一性Uniqueness业务主键或自然键是否重复主键唯一、业务键去重、联合唯一

🔄 三、现有规则标准化映射表

原规则名✅ 标准化命名质量维度优化说明
联系人-company_info_id-外键完整性联系人_company_info_id_完整性_外键关联完整性明确为外键引用校验
联系人-full_name-未知集合唯一性联系人_full_name_唯一性_指定集合唯一性“未知集合”语义模糊,建议按实际业务替换(如黑名单集合/测试集合
联系人-full_name-非空性联系人_full_name_完整性_非空完整性去除冗余“性”字
联系人-锁定人-锁定时间联合完整性联系人_锁定信息_一致性_联动逻辑一致性跨字段逻辑归属“一致性”维度
联系人-置顶-置顶时间联合检测联系人_置顶信息_一致性_联动逻辑一致性同上,统一命名模板
联系人-全部隐藏-隐藏时间联合检测联系人_隐藏信息_一致性_联动逻辑一致性同上
联系人-微信申请发送-微信号联合检测联系人_微信申请_一致性_联动逻辑一致性状态与账号的依赖关系
联系人-联系方式-唯一性检测联系方式_联系方式_唯一性_业务主键唯一性明确为业务主键去重
联系人-联系方式-无头数据检测联系方式_联系方式_完整性_孤儿数据完整性行业术语为“孤儿/孤立数据”
联系人-联系方式-默认标识数量异常检测联系方式_默认标识_一致性_唯一默认值一致性本质是业务约束一致性
联系人-联系方式-手机号格式检测联系方式_手机号_有效性_格式校验有效性统一格式类规则后缀
联系人-联系方式-固话号格式检测联系方式_固话号_有效性_格式校验有效性同上
联系人-联系方式-邮箱格式检测联系方式_邮箱_有效性_格式校验有效性同上
联系人-联系方式-微信格式检测联系方式_微信号_有效性_格式校验有效性同上
联系人-联系方式-来源-无头数据检测联系方式来源_来源记录_完整性_孤儿数据完整性实体名拆分清晰
联系人-联系方式-来源-唯一性检测联系方式来源_来源记录_唯一性_业务主键唯一性同上
联系人-联系方式-来源-码值范围检测联系方式来源_来源渠道_有效性_码值校验有效性明确为字典/枚举校验

🛠 四、工程化落地建议

1. 规则配置化(强烈推荐)

不要将规则名硬编码在 SQL 中,建议建立质量规则元数据表

CREATE TABLE dq_rule_metadata (
    rule_id         VARCHAR(50) PRIMARY KEY COMMENT '规则唯一编码',
    rule_name       VARCHAR(200) COMMENT '标准化规则名(4段式)',
    entity_name     VARCHAR(50)  COMMENT '业务实体',
    field_name      VARCHAR(50)  COMMENT '字段/主题',
    quality_dim     VARCHAR(20)  COMMENT '质量维度:完整性/有效性/一致性/唯一性',
    rule_type       VARCHAR(50)  COMMENT '规则类型:外键关联/非空/联动逻辑/格式校验...',
    sql_template    TEXT         COMMENT '校验SQL模板',
    severity        VARCHAR(10)  COMMENT '严重等级:P0/P1/P2',
    is_active       BOOLEAN      COMMENT '是否启用'
);

执行监控时,通过脚本动态渲染 SQL,rule_name 直接从元数据读取,彻底解决命名不一致问题。

2. 告警与报表展示优化

  • 对内(数据开发):显示完整 4 段式名称,便于定位
  • 对外(业务/产品):在 BI 看板中映射为可读名称,例如: 联系人_锁定信息_一致性_联动逻辑锁定状态与时间逻辑校验
  • 告警分级:结合 severity 字段,P0 规则失败阻断任务,P1/P2 仅告警不阻断。

3. 命名规范检查脚本(CI/CD 集成)

可在代码提交前加一个轻量校验:

import re
pattern = r"^[^_]+_[^_]+_(完整性|有效性|一致性|唯一性)_[^_]+$"
assert re.match(pattern, rule_name), f"规则名不符合规范: {rule_name}"

✅ 总结

  1. 采用 实体_字段_维度_标识 4段式结构,用 _ 分隔便于程序解析。
  2. 严格对齐 完整性/有效性/一致性/唯一性 四大质量维度。
  3. 去除“检测/性/异常”等冗余词,统一使用 外键关联非空联动逻辑格式校验孤儿数据 等标准术语。
  4. 强烈建议规则配置化+元数据管理,避免硬编码导致后期维护成本指数级上升。