做数据治理项目久了,我越来越觉得,数据治理最容易被“模块化”讲坏。
一说数据治理,大家通常都会想到数据标准、数据目录、元数据这些核心模块。
每个模块单独拿出来都能讲一套方法论,但真正到了企业现场,最麻烦的从来不是“有没有这些模块”,而是这些模块之间有没有真正接起来。
有些企业标准文件做得很完整,但业务系统根本没按标准执行;
目录里几万张表都能搜到,但业务人员还是不知道哪张能用;
质量规则配了几百条,异常天天报警,最后却没人知道应该修源系统、改加工逻辑,还是找业务部门补数据。
所以数据治理真正要解决的,不是“模块够不够全”,而是:
规则能不能落到真实数据上,数据出了问题以后能不能沿着链路找到原因,并且真正把问题解决掉。
我现在更认可的一种做法,是先从业务正在使用的数据切进去。
与其一开始就建设一套很重的数据治理体系,不如先用FineDataLink 5.0围绕一张关键报表、一个核心指标或者一条高价值数据链,把数据处理、质量检测、异常明细、血缘溯源和问题整改串起来,先让治理进入每天都在运行的数据生产过程,再逐步补标准、目录和责任体系,往往更容易做出真实效果。
我把数据集成工具FineDataLink放在这里,需要的可以自取:https://s.fanruan.com/tx4dw(复制到了起来)
一、数据标准先别急着写规范,先把“同一件事”说清楚
数据治理第一步,很多企业会先做数据盘点。
数据库扫一遍,字段扫一遍,再整理成数据目录。
这件事本身没错,但如果企业连核心业务概念都没有统一,目录做得再完整,也只是把原来的混乱更清楚地展示出来。
真正的数据标准,首先解决的不是字段长度和命名规范,而是:
企业内部对同一个业务对象,到底是不是在说同一件事。
比如客户到底按开户、签约还是交易来定义,销售收入到底按订单、发货还是财务确认来统计,这些问题如果不先统一,后面的数据模型和报表即使字段名一样,结果也可能完全不同。
所以真正能落地的数据标准,至少要把几类内容说清楚:
业务定义:这个数据对象或者指标到底代表什么
编码规则:客户、产品、组织等对象如何形成统一身份;
值域规则:哪些值允许出现,哪些属于异常;
技术约束:字段类型、精度和格式如何约束;
指标口径:统计范围、时间口径和过滤条件怎么确定。
这里最难的通常不是技术标准,而是业务部门能不能接受同一套规则。
因此,标准制定完成以后,不能只停留在治理文档里。FineDataLink 5.0的数据质量能力可以把已经明确的业务规则进一步转成完整性、一致性、准确性、唯一性、时效性和有效性等检测条件,让“客户编码不能为空”“关键指标必须按时更新”这类要求直接进入数据任务,标准才真正从“说清楚”走到了“管起来”。
二、标准定出来以后,真正难的是“落标”
很多数据标准项目最后失效,不是因为标准设计得不好,而是标准发布以后,没有继续进入业务系统和数据处理流程。
项目期间,规则很完整。
项目结束以后:
老系统继续沿用历史编码;
新系统新增字段仍然自己命名;
新指标也没有进入统一口径管理;
业务规则变化后,原有标准没人更新。
这就是典型的“有标准,没有落标”。
所谓落标,本质上就是把标准和真实数据对象建立关系。
比如已经定义了统一客户编码,就不能只停在标准表里,而要继续往下追:
哪些系统正在维护客户数据;
哪些字段和统一标准对应;
哪些已经符合要求;
哪些还存在历史差异;
差异由哪个部门负责整改。
所以实际项目里,我建议至少维护一张“标准落地映射表”,把标准、业务对象、来源系统、实际字段、责任部门和整改状态放在一起。
这样企业才知道:
标准不是定了多少条,而是到底落到了多少真实数据上。
在存量系统比较复杂的企业里,与其等所有标准、模型和元数据都建设完整以后再开始治理,不如利用FineDataLink 5.0直接从已有库表和高频问题切入,把已经明确的规则先转成检测项,边检测边补标准映射,这种“问题驱动+逐步落标”的方式,通常比一次性全面改造老系统更现实。
三、数据目录做到最后,不是为了“能搜到”,而是为了“敢选”
很多企业的数据目录做得非常完整。
表名有了。
字段有了。
系统来源也有了。
但业务人员真正找数据的时候,还是会问:
“到底应该用哪一张?”
问题就在于,技术目录主要回答的是:
数据在哪里。
而业务真正想知道的是:
这个数据到底能不能用。
所以成熟的数据目录,不能只提供技术信息,还要逐渐把业务语义、质量状态、血缘和责任信息接进来。
比如一张订单明细表,真正有价值的目录信息应该包括:
这张表对应什么业务范围;
数据多久更新一次;
关键字段使用什么标准;
当前质量状态是否正常;
哪些指标和报表依赖它;
出现问题以后应该找谁。
做到这一步,目录才不是“数据黄页”,而开始成为真正的数据治理入口。
所以判断目录有没有价值,不要只看纳管了多少张表,而要看:
业务找到数据以后,能不能快速判断这份数据的含义、来源和可信程度。
FineDataLink 5.0在这里更适合作为真实数据链路的支撑层,通过库表关系和实际任务血缘,把目录中的数据对象继续关联到来源系统和加工过程,这样一旦某份数据出现异常,就能顺着真实运行链路往上追,目录也就从“告诉你数据在哪”进一步变成“帮助你理解数据为什么会变成现在这样”。
四、数据质量不是“查脏数据”,而是验证规则有没有真正执行
很多企业的数据质量管理,本质上还是事后处理。
业务先发现报表不对。
然后IT往下查。
最后才发现可能是源系统漏填、同步任务失败或者中间加工逻辑出了问题。
这种方式最大的缺点是:
等企业发现问题的时候,错误数据往往已经进入报表、接口甚至业务决策。
真正成熟的数据质量治理,应该尽可能把检查前移。
前面的标准已经告诉企业什么样的数据才算正确,那么质量规则要做的,就是持续验证真实数据是否符合这些规则。
通常可以从数据质量“六性”去设计:
完整性:关键字段有没有缺失;
一致性:系统之间关键数据是否一致;
准确性:结果是否符合业务逻辑;
唯一性:主键或核心业务对象是否重复;
时效性:数据有没有按规定时间更新;
有效性:格式和值域是否合法。
但这里有一个很容易踩的坑:
规则数量并不等于治理质量。
很多项目一上来就给上千张表配置规则,最后异常太多,反而没人处理。
更实用的方法,是先围绕高价值业务结果做布控,比如收入、利润、回款、库存、生产达成率这类真正影响经营判断的指标,沿着它们的加工链路,把关键节点守住。
FineDataLink 5.0的优势就在于,数据开发任务和质量检测可以直接放到一条运行流程里,比如数据加工完成以后立即执行质量检查,在报表或接口发布之前再加一道质量卡点,检测失败时可以通知责任人,必要时阻断后续流程,这样质量治理就从“出了问题再排查”变成了“问题进入下游之前先拦下来”。
五、质量问题真正难的,不是发现,而是“谁来修”
很多企业最后其实不缺质量告警。
缺的是闭环。
平台每天能发现几十条异常,但一个月以后再看,很多问题仍然存在。
因为发现问题和解决问题,是两件完全不同的事。
一条质量问题真正进入治理流程以后,至少需要回答:
异常发生在哪个数据对象;
问题来自源系统还是加工过程;
谁是真正的数据责任人;
应该在源头修改还是下游补偿;
修复以后有没有重新验证。
这里有一个非常实用的原则:
数据问题尽量在离源头最近的地方修。
如果前端录入规则有问题,却长期依赖数仓做清洗补丁,短期看起来数据能用,但长期一定会形成越来越复杂的加工逻辑。
而且很多质量问题本质上并不是IT问题。
客户资料缺失,真正能补数据的可能是销售;供应商分类错误,可能要采购确认;指标口径冲突,则可能需要财务和业务重新确定规则。
所以成熟的数据治理必须把数据Owner和业务责任绑定起来。
在这一阶段,FineDataLink 5.0更适合帮助企业把已经发现的质量问题进一步纳入责任管理,比如围绕不同业务对象提前明确数据Owner、处理责任和整改状态,让问题不再停留在“谁看到了谁处理”的临时协作方式,而是逐渐形成从责任认领、整改推进到结果确认的处理机制。
这样数据质量管理的重点,就从“系统能不能发现异常”进一步转向“组织能不能把异常真正解决掉”。
六、元数据真正的价值,是让你知道“这个地方一改,会影响谁”
元数据经常被讲得特别技术。
字段。
表。
任务。
血缘。
但真正到了项目现场,元数据最有价值的时候,通常不是盘点资产,而是做影响分析和问题排查。
比如企业准备调整利润指标口径,真正需要考虑的不是只改一个公式,而是要知道:
上游依赖哪些源表;
中间经过哪些加工任务;
下游哪些报表和接口会受到影响;
哪些业务部门需要同步调整。
如果没有血缘关系,企业只能靠经验判断。
系统越复杂,这种方式风险越高。
所以成熟的元数据体系,应该逐渐建立起:
数据对象—加工任务—指标—应用
之间的关系。
这样无论是数据异常还是规则变更,都可以先看到影响范围。
这也是为什么元数据不能只停留在静态盘点上。实际项目中,我们会借助FineDataLink 5.0把库表关系、加工任务和上下游依赖放回真实的数据开发链路里,当字段、规则或者任务发生调整时,可以顺着已有关系快速判断影响范围,而不是每次都重新找人确认。
元数据这时候才真正从“资产展示”变成了缩短排障时间的生产工具。
七、主数据治理真正难的,不是去重,而是确定“谁才是唯一”
主数据通常围绕客户、产品、供应商、组织等核心业务对象展开。
很多人会把主数据治理简单理解成:
“把重复数据合并一下。”
但真正困难的地方其实是:
企业到底认哪个身份才是唯一。
同一家供应商,在采购系统和财务系统里可能分别有不同编码,技术上做匹配并不难,真正难的是以后到底哪个编码作为权威身份,新增供应商由谁审批,修改信息由谁负责,历史数据又怎么合并。
所以主数据治理通常需要明确:
权威来源系统;
唯一编码规则;
新增和变更流程;
跨系统映射关系;
历史数据归并策略。
这些事情最终都会涉及组织权责,不可能只靠技术完成。
所以我一直认为:
技术可以帮助识别重复,但统一身份必须由业务规则决定。
FineDataLink 5.0在主数据场景里更适合承担规则执行和数据流转的角色,比如把不同业务系统里的客户、产品和供应商编码按照已经确认的规则进行映射,再稳定输出到数仓和下游应用,产品负责把统一规则持续跑起来,但“谁是权威、谁有修改权”必须由企业治理机制自己确定。
八、数据安全不是最后再加一层权限,而是跟着数据一起走
很多企业的数据安全管理,还是以系统权限为主。
有系统权限,就能看到里面的数据。
没有权限,就全部看不到。
这种方式在系统比较少的时候还能工作,但随着数据不断进入数仓、分析平台和AI应用,按系统授权会越来越粗。
真正成熟的数据安全,应该基于数据本身进行分类分级。
至少需要先明确:
哪些属于普通业务数据;
哪些属于敏感数据;
哪些字段需要脱敏;
哪些访问必须审批;
哪些操作需要保留审计记录。
进入AI时代以后,这个问题会更加重要。
因为未来的数据消费者不只是员工,还可能包括AI应用和Agent。
企业必须进一步考虑:
哪些数据可以被AI读取;
哪些敏感字段必须处理以后才能调用;
哪些动作必须经过权限校验;
哪些调用必须保留访问记录。
所以安全治理不能等数据流到下游以后再补,而应该尽量在数据加工和流转过程中就处理。
借助FineDataLink 5.0,可以把安全要求往数据链路前面放,例如对敏感字段进行替换、加解密或规则化处理,让数据在进入下游分析和应用之前就已经完成必要的加工,相比数据复制到多个系统以后再逐一补权限,这种方式更容易控制数据扩散带来的风险。
九、真正成熟的数据治理,看的是模块之间能不能互相“喂数据”
做到这里,再回头看标准、目录、元数据、质量和主数据,其实逻辑已经很清楚。
数据标准负责提供统一规则;
数据目录负责定位治理对象;
元数据负责建立数据关系;
数据质量负责持续验证规则;
主数据负责统一核心业务对象;
数据安全负责控制数据使用边界。
但真正决定治理成熟度的,不是这些模块有没有,而是:
前一个模块产生的结果,能不能直接成为后一个模块的输入。
比如:
标准能不能直接转成质量检测规则;
目录中的对象能不能看到血缘和责任人;
质量发现异常以后能不能顺着链路找到源头;
整改结束以后能不能重新验证;
规则变化以后能不能看到下游影响。
如果这些关系没有建立,那么所谓“治理体系完整”,很多时候只是模块完整。FineDataLink 5.0能够放在这条治理链里的执行和闭环位置,把真实的数据开发任务、质量检测、异常定位和问题处理接到同一套运行机制中,让前面制定的标准和治理要求真正进入每天都在跑的数据任务,治理也就不再只是一套制度,而开始具备持续执行能力。
写在最后
数据治理真正难的,从来不是理解数据标准、数据目录、元数据、数据质量这些概念。
难的是:
能不能把它们放回企业真实的数据链路里。
一套真正成熟的数据治理体系,应该让不同能力逐渐形成闭环:
标准能进入执行过程;
目录能够帮助业务判断数据;
质量问题能够被自动发现;
异常能够顺着血缘追到源头;
责任能够落到具体部门和人员;
整改完成以后还能再次验证。
如果标准只写在文档里,目录只能查表,质量平台只会报警,最后问题还是靠微信群和Excel协调,那么模块再齐全,也只能算“建了治理平台”,还不能算真正建立了治理能力。
而FineDataLink 5.0在整个体系里更适合承担的,就是把治理要求真正落到运行链路上:让数据开发、质量检查、异常定位和整改过程形成持续运行的机制,使数据治理不再只是一次性项目,而是逐渐成为企业日常数据生产的一部分。
数据治理真正的终点,不是模块越来越多,而是数据越来越可信,业务找到数据、理解数据和使用数据的成本越来越低。