第2章 数据分类的基本原则与方法

数据分类这件事,说起来好像很简单:就是把数据分门别类放好呗。但我在实际项目中踩过不少坑,才发现这里头门道真不少。好多人一上来就急着定分类体系,结果搞出来不是太粗就是太细,业务部门根本不买账。

这一章,我就把数据分类的核心原则和实战方法掰开了讲。你如果能把这些原则吃透,至少能避开 80% 的坑。

2.1 数据分类的五大核心原则

我总结下来,真正好用的数据分类方案,都跑不出这五个原则。我们一个个看。

原则 一句话解释 我的踩坑经验
业务相关性 分类必须跟业务场景挂钩,不能脱离实际 有次纯按技术字段分类,业务方完全看不懂
系统性 分类体系要完整,不能有遗漏或重叠 客户信息既放在“营销”又放在“客服”,乱套了
稳定性 分类维度不能三天两头变 有些公司半年换一次分类,数据治理根本没法做
实用性 分类结果要能落地执行 定的太细,一线员工根本记不住,等于白做
合规性 必须符合法律和行业监管要求 等保2.0和GDPR对某些数据的分类有硬性规定

我的建议: 开始分类之前,先问自己三个问题:业务方会怎么用?法规怎么要求?这个分类能管多久?如果答不上来,先别急着动手。

一个小技巧: 我习惯先把业务部门最常用的 20 个数据项拿出来试分类。如果这 20 个都分不好,那全域数据肯定也够呛。

2.2 三种主流的分类方法

方法有好几种,但我个人习惯分成三大类。你想想看,不同的场景用不同的方法,效率能高出一大截。

2.2.1 自上而下法(业务驱动)

说白了,就是从业务的顶层开始设计。先定义业务域,再拆成业务子域,最后落到数据实体上。

  • 优点: 体系完整,不遗漏核心业务数据
  • 缺点: 周期长,初期看不到成果
  • 适用场景: 新建数据平台、数据中台建设

2.2.2 自下而上法(数据驱动)

这种方法更务实。先拉出所有数据清单,基于字段特征去聚类。比如把所有客户的手机号归到“个人敏感信息”类。

  • 优点: 上手快,3-5天就能出初版
  • 缺点: 容易漏掉业务语义,分类可能不合理
  • 适用场景: 已有的系统梳理、数据资产盘点

2.2.3 混合法(最推荐)

我在项目中用得最多的就是混合法。先用自上而下搭框架,再用自下而上填充内容。

// 混合法操作步骤(我在项目中常用的套路)
1. 业务部门定义一级分类(客户、产品、交易、营销……)
2. 技术团队扫描库表,生成字段清单
3. 双方坐下来,把字段往分类里塞
4. 塞不进去的,回头调整分类维度
5. 反复迭代 2-3 轮,基本就稳了

避坑提醒: 我曾经在一个项目里,业务和技术各搞各的,结果分类体系有两套,数据根本对不上。后来我强制要求必须一起做映射,才把这个问题解决。

2.3 从方法到实践:一个完整的分类流程

光讲理论太虚了。我直接给你画一张图,把整个流程串起来。

数据分类核心决策流程 输入:全量数据资产清单 原则评估:业务/系统/稳定/实用/合规 选择分类方法(推荐混合法) 业务域定义 → 字段映射 → 聚类归并 迭代验证:业务评审 + 技术校核 不通过则返回上一步调整 输出:数据分类目录 V1.0 核心要点 • 分类不能脱离业务语义 • 先搭框架再填内容 • 至少要迭代两轮 常见陷阱 • 分类粒度不一致 • 忽视合规硬约束 • 没有业务方参与

2.4 实战案例:互联网行业的数据分类

我拿一个真实的互联网项目给你们拆解一下。当时那个平台有 3000 多张表,30 多万个字段。要是没个方法论,光分类就能累死人。

第一步:定业务域。 跟业务总监聊了一个下午,定下来 7 个一级分类:用户、商品、交易、营销、内容、风控、基础数据。

第二步:字段打标签。 我用自下而上法,写了个脚本自动识别字段特征。比如字段名叫 mobile、phone、tel 的,直接打上“联系方式”标签。

# 字段打标伪代码(我当时写的简化版)
def auto_tag(field_name):
    if 'id_card' in field_name:
        return '个人身份标识'
    elif 'mobile' in field_name:
        return '个人联系方式'
    elif 'salary' in field_name:
        return '个人财务信息'
    else:
        return '待人工确认'

第三步:来回对齐。 技术打标的字段,让业务同事一个个确认。那次确认下来,大概有 15% 的字段被打标错了——主要是因为字段命名不规范。

一个经验: 字段命名规范真的很重要。我后来强制要求所有新表创建时,字段名必须按分类字典来命名。虽然初期有阻力,但后面数据治理的投入直接减少了 40%。

2.5 分类的粒度:粗还是细?

这个问题我经常被问到。我的回答是:分层处理。

  • 一级分类: 8-12 个,面向业务管理层
  • 二级分类: 30-50 个,面向数据管理员
  • 三级标签: 不限,面向机器自动化处理

你想想看,要是给 CEO 看一个 300 行的分类表,他肯定马上关掉。但如果你只给 10 个业务域,他就能立刻理解。

特别提醒: 我曾经有个客户,把数据分到了第五级,总共 2000 多个类别。结果连他们自己的数据专员都记不住,最后不得不回退到三级。所以,分类不是越细越好——够用就行。

2.6 关于分类的文档化

分类做完了,一定要形成文档。我习惯用这种方式记录:

分类编码 分类名称 业务描述 包含字段示例 关联法规
D01 用户基础信息 注册、认证时采集的用户核心信息 user_id, nickname, avatar 个人信息保护法
D02 个人敏感信息 涉及个人隐私的高敏感数据 id_card, bank_card, biometrics 等保三级、GDPR
D03 交易流水 订单、支付、退款等交易记录 order_id, amount, pay_time 电子商务法

有这份文档,不管是做分级、做安全策略,还是做数据目录,都有据可依。而且,新同事来了,看这个表基本就能上手。

数据分类这事,不用追求一步到位。先跑起来,再迭代优化。我一直认为:一个能用但不断改进的分类体系,远好过一个完美但永远出不来的方案。