尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

数据字典与业务词库如何分工?Collibra数据治理落地实践

数据字典与业务词库如何分工?Collibra数据治理落地实践 1. 为什么先想清楚词库和数据字典的分工再动手建接手Collibra项目的人很容易把数据字典和词库当成一回事儿。我在好几个客户现场看到过这两种情况要么是业务侧把词库做成了一个大杂烩把字段名、表名、接口名全塞进术语表要么是技术侧把数据字典做成了一张Excel透视表压根没有建立和业务资产的关联。两种做法都会导致一个共同后果——工具上了治理没发生半年之后没人愿意继续更新。实际上Collibra里的Data Dictionary数据字典和Business Glossary业务词库是两个定位完全不同的模块设计时不能混为一谈。一句话概括词库回答“这个概念在业务上是什么”字典回答“这个字段在技术上对应什么”。词库面向业务人员、分析师、合规审计字典面向数据工程师、开发、数据平台管理员。两者通过映射关系连接起来才形成“业务定义到技术实现”的完整链路。设计这块功能模块之前先明确三个问题平台里现在的数据资产清单是什么粒度的是只有系统名称还是已经采集到了表、字段级有没有现成的业务术语清单格式是Word、Excel还是已经在某个系统里维护上线后的维护责任人是谁业务部门愿不愿意抽出人来认领术语的审核和更新这三个问题没想清楚后面全是在折腾功能而不是解决问题。Collibra的功能上限很高但绝大多数企业的现状根本用不到那么复杂而“词库字典”这两个模块恰恰是所有治理工作的起点值得认真规划。从我的实施经验来看一个合理的落地顺序是先用词库把业务口径统一起来让关键概念有唯一公认的定义再用数据字典把物理资产在平台里管理起来让每个系统、表、字段都有台账最后做映射让业务词条和字段关联实现从业务报表到物理存储的追根溯源。这个顺序不能反如果一上来就采集成百上千张表没有业务侧的定义支撑字段级的维护会很快失控。2. 词库模块的设计要点与落地配置词库模块也就是Collibra里的Glossary是整个数据治理体系的“业务入口”。它解决的核心痛点是企业里“同词不同义、同义不同词”的问题。比如财务说“收入”销售说“营收”研发的数据表里叫revenue这三者是不是一回事如果你不通过词库把定义锁定后续所有数据分析和报表的口径都会打架。2.1 词库结构的顶层设计Collibra的词库可以按域Domain来组织重点就是想清楚分级目录怎么建。我推荐的顶层结构是按“主题域-一级术语-二级术语”三层走不要做太深超过五层基本没人愿意点进去找东西了。第一层是主题域对应企业架构里的数据域划分比如客户域、产品域、订单域、财务域、供应链域。第二层是核心业务概念比如客户域下面有“客户”、“潜在客户”、“客户分级”、“客户满意度”等。第三层是衍生的具体概念比如“客户”下面可以有“企业客户”和“个人客户”再往下可以挂“统一社会信用代码”这种属性类术语。为了避免有人用错、找错每个词条建议配置以下核心属性术语名称全企业唯一的业务概念名称不区分大小写但要求全角半角统一。缩写/别名列出历史系统里的惯用叫法方便搜索时能命中。业务定义用一两句话说明“它是什么”禁止写“见某某报表”这种不负责任的定义。计算公式/口径如果是指标类术语必须写明计算公式和数据来源。比如“净利润营业收入-营业成本-税金及附加-期间费用”含糊不得。负责部门/负责人明确这个术语的业务所有者这是后续审核和变更的联系人。关联系统这个术语主要在哪些系统里落地提前为映射做准备。状态草稿、已认证、已废弃三种状态。状态字段我特别强调一下。很多项目上线后术语没人审核全停留在草稿状态别人看了也不敢用。Collibra支持审核流设计时一定要配置一个简单的审批环节“业务负责人提交-数据治理专员审核-发布”。人不用多但流程得走起来否则词库就是个僵尸库。2.2 词库导入与批量维护词库的初始数据几乎不可能靠手工一条条在界面上录入。绝大多数企业都有一堆历史材料可能是数据治理咨询项目交付的术语表可能是数据仓库模型设计文档里的业务名词表也可能就是一个大家传了很多年的Excel。这时候就要用Collibra的批量导入功能。导入之前一定要做数据清洗这一步能省掉后面90%的重复劳动。清洗规则我一般这么定去重同义词合并保留一个主名称其他作为别名挂上去。比如“客户ID”和“客户编号”如果确实指向同一个业务概念不要建两个词条而是选一个主词条另一个做别名。补全必填属性比如负责部门、负责人如果为空先填“待认领”等评审会的时候再分配。归一化格式统一英文大小写、统一日期格式避免同名不同格式的脏数据。敏感词预检如果系统里有敏感数据识别能力可以挂到词库扫描一遍提前发现包含“身份证号”“银行卡”等字样的词条方便后续做数据分级分类。导入时推荐用CSV模板而不是直接复制粘贴。Collibra的导入模板可以下载填好之后先导入到一个测试域里验证确认词条数量、层级关系、属性都正确再导入正式域。我亲眼见过有人一次性导入了五千条词条结果编码格式不对中文全部变成乱码来回清理花了三天。3. 数据字典模块的字段级资产建设数据字典这部分说白了就是把平台里的数据库表、字段、视图、接口等物理资产纳管起来形成一个可以检索、可以评估、可以追溯的技术台账。Collibra在数据字典上的核心能力有两个一是通过扫描器自动采集元数据二是基于采集结果做字段级的关联和血缘展示。3.1 数据源接入与元数据采集采集之前先梳理清楚企业有哪些数据源类型。常见的包括关系型数据库Oracle、MySQL、SQL Server、PostgreSQL、大数据组件Hive、HDFS文件、BI报表工具Tableau、Power BI、ETL工具Informatica、DataStage等。Collibra的Edge可以连接这些数据源按计划任务定期抓取元数据。连接配置时需要注意几个点数据库账号用只读账号不要用管理员账号连接生产库安全合规上过不去不说一旦扫描任务写错了也可能影响源库性能。扫描频率按数据变化节奏来定。业务库可以每天凌晨跑一次数仓可以按周跑数据湖按需跑。跑得太频繁反而会给源库产生不必要的负载。扫描范围建议先在少数几个核心系统试点比如先接了财务系统、CRM、订单中心跑通了再逐步扩大范围。一次性把一百多个系统全接进来采集出来的数据量会让管都管不过来项目组也容易被困在元数据采集细节里出不来。采集完成之后Collibra会自动生成资产视图系统-模式Schema-表-字段的四级层次。这里有个容易忽略的点字段的技术元数据数据类型、长度、是否为空是自动采集的但字段的业务元数据业务含义、负责人、分类分级必须要有人去补充。自动采集替代不了人工维护这一点一定要跟业务方提前说清楚避免大家以为系统连上就万事大吉了。3.2 数据字典的字段级补充与映射字段级补充是数据字典里工作量最大的一块。一张订单表可能有几十个字段每个字段都要回答“它存的是什么业务含义”。这活儿不能靠数据团队闭门造车必须拉上业务和数据 owner 一起过。我给字段级补充定义了一套优先级逻辑第一优先核心交易表、主数据表的字段比如客户表、订单表、产品表这些字段直接影响核心报表和监管报送。第二优先报表和分析所用到的宽表、汇总表字段这些字段影响分析口径。第三优先临时表、中间表、日志表这类表可以先在平台里登记但不急着逐字段维护。实际操作中很多团队会把字段补充做成一个“认养”任务每个字段在Collibra里对应一个资产由数据Owner指定字段责任人责任人按模板补充业务描述、数据分类、保留期限等信息。做完一个字段状态变成“已完善”治理专员审核后发布。加上这个状态跟踪之后维护进度一目了然。数据分类这里值得展开讲。数据字典不能只记“有什么字段”还要知道“这字段是敏感还是不敏感”。我建议在字段级别挂上数据分级属性至少分四层公开、内部、敏感、高度敏感。比如客户姓名、手机号、身份证号属于高度敏感访问需要特殊审批而产品名称、公开价格属于公开。有了字段级分类后续做权限控制、脱敏、审计都有据可依。Collibra里可以在字段资产上挂数据分级也可以和标签联动一套字典下来数据分级分类也顺手做了。4. 词条与数据资产的映射关联与发布流程词库和数据字典都建好了之后最重要的一步就是把它们关联起来。这一步的价值在于业务侧看报表发现“净利润”这个指标的口径不对点开这个词条就能直接看到它关联到了数仓里哪些表、哪些字段甚至能看到从原始表到汇总表的加工链路。如果没有这层映射“业务定义”和“技术实现”就永远是两张皮。4.1 映射关系怎么建Collibra里做映射有两种方式一种是在词条详情页手动关联另一种是批量用Excel维护好映射关系再导入。我个人推荐用后者尤其是字段数量上千的时候。先在Excel里维护好“词条名称-资产路径系统/表/字段”的对应关系做成模板再导入Collibra。这样既方便业务和技术两边线下确认也能在导入前快速检查错误。映射并不是一对一就够了很多业务概念会对应多个技术字段。比如“客户”这个业务概念可能在CRM系统里对应CUST_ID、CUST_NAME在数仓里对应DIM_CUSTOMER.CUSTOMER_KEY在订单系统里对应BUYER_ID。这些映射都要建否则做影响分析时只能看到部分链路。映射建好之后建议定期做一次盘点看看有哪些词条一直没有关联任何资产这些往往是历史遗留的僵尸概念要么补齐映射要么标记废弃。4.2 发布与版本管理词条从草稿到发布中间要过审这个前面已经提过。发布之后还有一个容易踩坑的点版本管理。业务定义不是一层不变的比如指标的计算口径调整了或者某个系统上线了新的字段都会影响词条和映射的有效性。Collibra支持版本管理每次重大变更建议生成一个新版本并记录变更说明、变更人和生效日期旧的版本保留可追溯。我见过一些团队词条发布之后就再也不动了直到监管审计问起来才发现定义已经过时。为了避免这种情况我习惯在治理规范里定一条规则已发布的词条如果超过一年没有复审自动进入“待复审”状态。这个规则虽然不能在Collibra里完全自动化实现但可以借助平台的提醒功能或者靠治理专员在每个季度的数据治理会议上过一遍复审清单。数据目录发布之后最重要的事情就是把入口推广出去。Collibra的搜索栏就是业务人员日常用数据的第一入口词库和字典的映射关系是否能触达到搜索结果的详情页直接决定了这个平台有没有人在用。我在配置的时候会特地把搜索页默认展示的字段调整成“业务名称-定义-负责人-关联资产数量”让非技术用户一眼能看懂而不是一打开就面对一堆物理表名。5. 权限模型与协作运营的细节设计Collibra模块上线后权限设计不合理是非常致命的。常见的问题有两种权限放得太开所有人都能改词条定义结果术语被改得七零八落权限收得太严业务人员只能看不能提变更平台活跃度直接归零。从实际项目反馈来看权限模型的核心不是“谁能看”而是“谁能改、谁能审、谁能发布”。5.1 角色与职责的划分我在项目上通常按四类角色来设计权限查看者所有正式员工都有能浏览已发布的词条和数据字典能搜索不能编辑。贡献者业务分析师、数据专员能新建草稿词条、能修改自己创建的词条、能提出变更建议但不能直接发布。词条所有者业务部门指定的负责人能编辑和提交自己负责的词条能处理变更请求。治理管理员数据治理团队负责审核、发布、废弃词条负责批量导入负责维护数据字典的元数据采集和映射关系。这四类角色对应Collibra里的用户组设置。我的经验是权限角色不用一开始就分太多层先按这四类跑起来等业务规模大了、协作方多了再考虑在贡献者里细分“技术贡献者”和“业务贡献者”。5.2 协作社区与任务分派Collibra自带协作功能包括词条下面的评论、提问、变更建议和任务分派。很多人忽略了这个功能但我认为这才是运营词库数据字典最顺手的地方。我举一个真实场景财务部的人在看月度报表时发现“毛利率”这个词的定义和财务部口径对不上他可以直接在词条页评论并数据Owner系统会自动给数据Owner生成一个待办任务数据Owner回复之后评论全程留痕。这个过程既是答疑也是治理而且比线下发邮件拉群高效得多。为了让协作功能真正用起来有几个细节要提前配置好用户通知里要把“有人我”“有任务分配给我”“我关注的词条有变更”这三个开关打开避免重要请求漏掉每个关键词条都要设置好负责人字段否则任务不知道该派给谁定期清理已关闭的任务保持待办列表干净。6. 常见问题排查与避坑经验这个模块上线之后运维过程中一定会遇到各种各样的问题。我挑选几个高频场景把我的排查思路和解决办法写出来给大家参考。6.1 采集不到元数据或者元数据不全这是数据字典模块最常见的问题。分析思路按以下顺序查先确认Collibra Edge服务是否正常运行再确认数据源连接配置是否仍然有效很多企业数据库密码定期轮换连接串过期后采集任务会失败再检查网络线路有些内网环境Collibra服务器和数据源之间没有放通防火墙。如果连接都正常但采集到的表数量偏少可能是只读账号的权限不足没有查询系统表或元数据视图的权限。这个要协调DBA把权限补上。还有一个很容易忽略的问题如果源数据库里字段注释是写在Comment里的Collibra默认会抓取但有些国产数据库或者老旧的Oracle库没有维护字段Comment采集出来字段描述全是空的。遇到这种情况不要试图靠工具自动生成字段描述靠谱的做法是导出字段清单发给业务确认批量补齐后导入。6.2 导入的乱码、重复和层级错乱批量导入时CSV文件的编码格式一定要用UTF-8特别是中文环境下用Excel另存为CSV时很容易生成GBK编码导入Collibra后中文全部变成乱码。如果从Excel复制粘贴到CSV务必用文本编辑器打开检查一遍再导入。重复词条也是高频问题导入前建议用名称去重逻辑检查一遍否则同一个业务概念可能出现多条互相打架。层级错乱的问题多半发生在父子关系的Excel模板里。Collibra导入层级关系时要求父子名称要在同一行里对应清楚如果模板里父级名称写错一个空格就可能导致整个词条挂错位置。我习惯导入前先导出一次空模板按模板说明填避免自己猜格式。6.3 词条和字段映射混乱映射关系混乱容易发生在团队多人同时维护的时候。比如A在词条“客户名称”下关联了CRM系统的CUST_NAME字段B又在同一个词条下关联了订单库的CUST_NAME字段如果两边都没写映射说明后面的人根本不知道这两个关联背后的业务逻辑是什么。我建议在维护映射时强制填写映射备注说明“为什么这两个技术字段和这个业务概念对应”。另外定好一个规则一个技术字段不要重复映射到多个含义相同或近似的词条上如果确实存在多义词条要在映射关系里标注上下文比如“订单库的CUSTOMER_NAME字段同时对应‘客户名称’和‘下单人名称’两个词条需结合订单上下文理解”。这种细节越是后期数据量大了越显得重要。6.4 平台里建了很多词条但业务侧就是不用这是运营层面的问题但比任何技术问题都致命。复盘下来核心原因通常是两个一是词条定义没有跟业务的实际使用场景绑定业务人员找不到“这个东西跟我有什么关系”二是平台入口太深大家习惯去查老的Excel而不是上系统。对策我总结了几条经验选几个高频词条在数据周报或者月度例会上直接展示当业务老板问“本月收入口径是什么”时当场打开Collibra页面把定义和关联资产投屏出来这比任何宣传都有用对接BI工具让业务人员在查看报表时能一键跳转到Collibra查看指标定义这样平台的使用入口就嵌入了业务日常工作流把Excel的“唯一权威版本”从团队里收走行政性地阻止“线下传阅不更新系统”的行为——这一步需要数据治理委员会支持单靠数据团队推不动但一旦推下来效果立竿见影。7. 一点个人的体会我在Collibra项目里摸爬滚打这几年最大的感受是这个词库和字典模块看起来是数据工具本质上其实是企业数据认知的统一和沉淀。工具只是把流程固化下来真正让它发挥价值的是业务、技术、治理三条线能不能坐下来把一个概念的名字、口径、责任人彻底说清楚。项目上线只是开始运营才是长期的工作。如果你正在做这个模块我的建议是从小处切入先选两三个核心业务域把词条和字典真正连起来跑通再逐步扩大范围别想着一口气把全企业搬上去。把数据治理做成细水长流的事比做成一锤子买卖可靠得多。
返回列表