第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 从方法到实践:一个完整的分类流程
光讲理论太虚了。我直接给你画一张图,把整个流程串起来。
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 | 电子商务法 |
有这份文档,不管是做分级、做安全策略,还是做数据目录,都有据可依。而且,新同事来了,看这个表基本就能上手。
数据分类这事,不用追求一步到位。先跑起来,再迭代优化。我一直认为:一个能用但不断改进的分类体系,远好过一个完美但永远出不来的方案。