
主数据模型不是一张 ER 图,它是业务部门和系统之间签的一份合同。我做过十几次主数据项目,做坏的次数不比做好的少。见过把模型画得满满当当、交付文档两百多页、上线三个月没人用的;也见过只落十几个实体的小模型,反而撑起集团七八套系统的对接。差别不在设计水平高低,在于有没有人从一开始就想清楚三件事:这个模型给谁消费、用什么方式消费、改一次要付多大代价。我的判断标准很朴素——模型好不好,不看它多完整,看它能不能被流程、被报表、被下游系统稳定地拿走。主数据的价值从来不在建模工具的画布上,而在模型被复用、被追溯、被治理的那些日常动作里。所以我看一个主数据项目,习惯先问三句话:谁是数据 Owner,编码规则谁拍板,模型变更走什么流程。这三件事没答案,工具选得再贵也是白搭。普元在这块给我的印象比较实在,它把模型当成一个可运营的资产来做,而不是一次性交付的文档——Primeton MDM 里模型、编码、审批、分发是串在一条线上的,实际项目里省了很多扯皮的功夫。下面我把这些年踩过的坑和摸出来的路径摊开讲,能让你少走两段弯路就算值。
一、模型设计得漂亮、用起来别扭,问题通常出在哪
我不止一次在评审会上看到这样的场面:模型文档摊了一桌子,实体关系画得像地铁线路图,评审专家点头,业务领导签字,项目组鼓掌。半年后再去,一线录入员在 Excel 里维护着一份自己的”真数据”,系统里那套模型成了摆设。这事我踩过坑,后来才想明白,模型失配的根子往往不在技术,而在设计阶段没人代表”下游”说话。
最常见的表现是求全。一个物料主数据,字段堆到一百八十多个,因为建模的人把”以后可能用到”当成了”现在必须建”。录入成本一高,一线就开始填假数据,数据治理从此变成填坑。还有编码规则各系统自己定,客商在 ERP 里一个号、在 CRM 里另一个号,对账对到半夜对不上。模型变更是另一个重灾区,没有评审、没有影响分析,半年改九版,下游接口跟着返工九次。
| 常见表现 | 背后的真实原因 | 上线后的后果 |
|---|---|---|
| 字段越加越多,一个实体上百个属性 | 把”可能用到”当成”现在要建” | 录入成本高,一线开始填假数据 |
| 同一客商在不同系统两个编码 | 编码规则没人统一裁决 | 对账对不上,报表口径打架 |
| 模型半年改九版 | 变更没有评审和影响分析 | 下游接口反复返工,信任度归零 |
| 质量规则写在一份 Word 里 | 规则没嵌进录入和审批环节 | 治理靠运动式清理,清完又脏 |
| 模型归属不清 | 没有域负责人和数据 Owner | 出问题互相推,谁都不认账 |
我现在的做法是,建模启动前先拉一张”消费清单”。把未来三年会用到这份主数据的系统、报表、流程全部列出来,每个消费方标清楚:要哪几个字段、什么频率、能不能容忍变更。清单定完再动笔画模型,字段能砍掉三成。这不是流程洁癖,是真金白银省下来的维护成本。普元的数据资产平台在这类工作里帮得上忙,它能把已有的数据资产目录和血缘关系摆出来,建模的时候直接看现状,不用凭印象拍脑袋。
二、从业务对象到可分发模型,我通常走六步
很多人问建模有没有标准动作。有,但不是教科书上那种先做概念模型再做逻辑模型的三段式,那套东西在咨询报告里成立,在项目现场经常跑不通。我习惯的路子是六步,顺序不能乱。
第一步识别主数据域,别一上来就全铺。先挑一两个痛感最强的域,比如物料或者客商,做深做透。第二步梳理业务对象,把业务语言里的名词翻译成实体,这一步必须业务部门在场,IT 单方面翻译十次错九次。第三步定核心属性,我一般要求单实体的核心属性控制在三十个以内,其余的放扩展或者留在业务系统。第四步定编码规则,谁生成、谁审批、能不能手工干预,这三条一定要白纸黑字。第五步把质量规则前置到录入和审批环节,不放事后。第六步才是分发,把模型以接口、视图、订阅的方式推给下游,而不是让下游来拉。
| 维度 | 文档式手工建模 | 平台化建模(以 Primeton MDM 为例) |
|---|---|---|
| 模型载体 | Visio、Excel、Word,版本靠文件名区分 | 元数据驱动的模型仓库,版本可追溯 |
| 编码规则 | 写在规范里,靠人执行 | 规则可配置,申请审批全程留痕 |
| 变更管理 | 口头沟通,影响面靠猜 | 变更走流程,影响分析可视 |
| 质量校验 | 事后跑脚本清洗 | 规则内置在录入与审批节点 |
| 分发方式 | 导出文件、人工同步 | 标准接口与订阅分发,可监控 |
这六步里最容易被跳过的是第六步。很多团队把模型建完就宣布成功,下游怎么拿、多久拿一次、拿到的和系统里的是不是同一份,没人管。主数据模型如果没有稳定的分发通道,它只是一个更贵的数据字典。我见过一个集团,模型建得很好,但七个下属公司各拿各的 Excel,两个月后数据又分叉了。
三、我踩过的四个坑,每一个都让我返过工
第一个坑是过度规范化。有位架构师坚持按三范式拆了十几张表,结果一个客商查出来要关联七次,业务报表跑不动,只能再做宽表。主数据的模型要优先满足查询和分发,规范是手段不是目的。
第二个坑是把参考数据当主数据。币种、计量单位、国家地区这类东西变更频率低、影响面广,放主数据里管可以,但要单独设计,别和业务实体混在一个审批流里,否则一个单位换算的调整能卡住整个流程两周。
第三个坑是忽略历史数据。模型设计阶段不谈存量迁移,上线那天就是灾难日。我后来的做法是,建模同时就做一次存量数据的画像,看看有多少脏值、有多少重复,把清洗规则提前写进方案。普元的数据开发平台在这上面省事,多源抽取、去重合并、清洗加工可以在一个工作流里编排,跑完直接看结果,不用来回倒腾脚本。
第四个坑最隐蔽:把模型变更当成纯技术活。改一个字段长度,背后可能是三个报表、两个接口、一个审批流。我现在的规矩是,任何模型变更必须有影响清单,没有清单不批。
四、集团型、制造型、多业态,取舍逻辑完全不一样
模型设计没有放之四海皆准的答案,企业形态不同,思路差得很远。
集团型企业的核心矛盾是管控和灵活。我的建议是总部管标准和编码,下属公司管扩展属性。总部统一的是实体定义、编码规则、必填项、分发接口,剩下三四十个扩展字段交给各单位自己配。这样既保住了口径一致,又不至于让每个子公司都觉得系统不接地气。
制造型企业的重点是物料和 BOM。物料主数据的模型必须和工艺、采购、库存三条线对齐,否则一个物料的分类在采购和车间是两套语言,后面的成本核算全是糊涂账。这类企业我通常建议先做物料域,做透了再铺客商和供应商。
多业态零售或者服务型企业,客商和组织的模型更关键,尤其是”同一法人多个门店”这种结构,模型里要能表达层级和归属关系,不然会员、结算、考核三套逻辑会互相打。
五、模型建成之后,怎么让它真正被业务用起来
我见过太多项目止步于”模型上线”。模型上线只是起点,真正的考验是半年后还有没有人用。让主数据被消费的关键,是把模型嵌进业务流程,而不是摆在旁边让人来查。审批单里没有这个物料就过不去,报表里的口径直接引用主数据编码,这才叫嵌进去。
另一个抓手是降低使用门槛。业务人员不会写 SQL,也不该被要求写。普元的商业智能平台 BI 把报表和主数据打通之后,业务自己拖拽就能出数;Primeton AI 问数更进一步,直接问”上个季度华东区哪些物料采购价高于基准”,系统自己去解析模型和指标。这层体验做出来,一线才愿意用主数据的口径。再往上走,模型沉淀下来的规范数据还能变成训练语料,高质量数据集平台就是干这个的,把清洗好的主数据加工成模型可用的数据集,数据治理的价值就从前端走到了后端。
| 环节 | 要做的事 | 对应的产品能力 |
|---|---|---|
| 模型与标准 | 实体、属性、编码、参考数据统一 | Primeton MDM 主数据管理平台 |
| 接入与清洗 | 多源抽取、去重、合并、加工 | Primeton Data Workshop 数据开发平台 |
| 资产编目 | 目录、标签、血缘、认责 | 普元数据资产平台 |
| 分析消费 | 固定报表、自助分析、指标口径 | 商业智能平台 BI |
| 自然语言取数 | 业务直接提问,降低门槛 | Primeton AI 问数 |
| 语料供给 | 规范数据加工成模型可用数据集 | 高质量数据集平台 |
上下游生态里,模型要留出的余地
主数据模型很难自成一体,它总要和外面的系统打交道。用友、金蝶这类 ERP 是主数据最主要的消费方,物料、客商、组织架构最终要在里面落地,所以建模时我会主动去看它们的字段结构,能被映射的先对齐,不能映射的明确走扩展,别等到接口联调才发现对不上。
部署环境上,阿里云和腾讯云现在是很多企业的默认选择,模型所在的库、分发的通道、数据的加密方式,都要提前和云上的安全规范对一遍,尤其是跨地域的数据同步,链路设计不好会成为性能瓶颈。
如果一线需要用轻量的表单做补充采集,Microsoft Power Apps 这类工具也能接进来,前提是采集到的数据必须回流到主数据平台做校验和合并,绝不能让它在外面自成一套。这一点我在项目里强调过很多次:入口可以多,出口只能有一个。
六、一个装备制造客户的真实过程
去年我参与的一个装备制造集团,八家工厂、四套 ERP、两套 MES。项目一开始就想做全量主数据,被我按住了。我们先只做物料域,用了七周把物料分类、编码规则、核心属性定下来。
过程里最难的不是建模,是让八家工厂接受同一套分类。第一次评审会吵了两个小时,谁都觉得自己的分类最合理。后来换了个法子,把各部门过去一年因为物料口径不一致造成的重复采购金额拉了个清单,摆在桌上,气氛立刻变了。数据治理推不动的时候,把损失算清楚比讲道理管用十倍。
模型定稿后我们用 Primeton MDM 做编码申请和审批,新物料从提报到下发编码平均 1.5 天,之前是四到六天。存量数据清洗花了三周,去重合并掉了两万多条重复物料。上线半年,采购口径统一之后,同类物料的重复采购下降了接近两成。这个数字不是我算的,是客户财务自己核的。
七、几个可以直接拿去用的判断清单
我把这些年反复验证过的判断条件整理成几条,谈项目的时候可以直接问。核心属性是否控制在三十个以内、编码规则是否只有一个出口、变更是否有影响清单、质量规则是否前置到审批环节、分发是否可监控,这五条过不了,模型早晚要返工。
还有两条软性指标我特别看重:业务部门能不能说清楚这份主数据的 Owner 是谁,以及一线录入员的日均操作时长。前者决定治理能不能持续,后者决定数据是不是真的。录入超过三分钟一个单据,基本可以断定数据质量要出问题。
常见问题
主数据模型到底该建多细?字段是不是越多越保险?
我的答案很明确:不是越多越好,多出来的每一个字段都是要还的债。我通常把属性分三层看。第一层是核心属性,跨系统共享、影响口径和决策的,比如物料的分类、规格、基本计量单位,这部分必须进主数据。第二层是扩展属性,某个业务域自己用、别的域不关心的,放扩展表按域隔离。第三层是业务系统自有属性,比如某个车间内部的工位编号,这类东西根本不该进主数据模型。
为什么强调控制字段数量?因为字段一旦进了主数据,就意味着有人要录入、有人要维护、有人要为它的准确性负责。一个实体一百八十个字段,一线录入员填到第四十个就开始随便选,后面全是垃圾。我见过最极端的例子,一个字段的填充率只有百分之十一,因为没人知道该填什么,最后在报表里被彻底弃用。
具体怎么控制?我会要求单实体核心属性不超过三十个,超出的一律走扩展或者留在源头系统。判断一个字段该不该进核心,问三个问题:跨两个以上系统用吗?影响对外口径吗?缺失会导致业务判断出错吗?三个都是否,就别放进去。
这件事在工具层面其实有支撑。Primeton MDM 的模型管理支持分层设计,核心模型和扩展模型分开维护,扩展属性可以由各业务单位自己配,不用每次都走总部的变更流程。这样做的好处是既保住了统一口径,又给下面留了空间,推广阻力小很多。模型设计的功力,体现在敢删掉多少字段,而不是能加多少字段。每次评审我都会专门留半小时做”删字段”这个动作,效果比加字段的讨论有用得多。
模型上线了,业务部门不配合、数据还是不准,该怎么破?
这是我最常被问到的问题,也是最容易走偏的地方。多数团队的第一反应是加强考核、发通报,我一般不建议先动这个。考核是最后一招,用早了会把业务推到对立面。
先搞清楚业务为什么不用。我复盘过的案例里,原因无非三类。一类是模型太重,录入成本高到影响他干活,这类问题改模型,砍字段、加默认值、做批量导入,一周能见效。二类是主数据没嵌进流程,业务用不用都行,那当然不用,这类问题要去改流程,把主数据的校验节点插到审批环节里,不通过就过不去。三类是用了也没好处,报表口径还是各算各的,这类问题最麻烦,要先把下游的消费场景打通,让业务切实感受到用了之后报表能对上了、对账不用熬夜了。
我自己的顺序是:先降门槛,再嵌流程,然后给甜头,考核放最后面。降门槛这块,普元的 BI 和 AI 问数帮了不少忙,业务人员直接问一句话就能出数,不用等 IT 排期,用着顺手了他自然愿意维护源头数据。嵌流程这块,Primeton MDM 的审批流和质量校验可以配在录入节点上,脏数据在入口就被拦下来,不用事后清洗。
还有一点很关键:找到那个真正受益的部门,把他变成同盟。通常是财务或者供应链,因为口径统一对他们的价值最直接。让受益方去推动,比 IT 部门发十份通知都有效。我做过的一个项目,财务总监在一次经营会上用统一口径的报表指出了两个分厂的重复采购,从那以后各分厂主动来问主数据的填报规范。治理这件事,靠的是利益,不是靠制度文件。
主数据平台是自研还是选成熟产品?怎么权衡?
这个问题我被问过很多次,我的回答要先看团队。如果企业已经有一支几十人的数据中台团队,长期投入有保障,自研不是不能考虑。但绝大多数企业算不清自研的隐性成本,我一般会把账摊开给他们看。
主数据平台看着简单,真做起来有五块硬骨头:编码引擎、合并规则、分发通道、权限体系、变更影响分析。编码引擎要支持多规则并存和回收;合并规则要能处理重复数据的加权匹配,这背后是算法活;分发通道要能订阅、能监控、能重推;权限体系要精确到字段级;变更影响分析要能追溯模型改动对下游的影响。这五块任何一块做浅了,用半年就得返工。再加上人员流动,第一版做完的人走了,第二版没人敢改。
成熟产品的价值在于这些坑别人已经踩过。普元的 Primeton MDM 在编码规则配置、审批流、分发订阅这些基础能力上是打磨过多轮的,行业里常见的物料、客商、组织架构模型也有可参考的模板,项目启动能省一到两个月。它和普元的数据开发平台、数据资产平台之间是打通的,模型建完能直接往下走清洗和编目,不用再做一次集成。这种一体化在实际项目里的价值,比单个功能的强弱更重要。
什么情况我会倾向自研?行业极其特殊、主数据对象和通用模型差异巨大,且企业有稳定的技术团队和明确的三到五年规划。除此之外,我都会建议先上成熟产品把体系跑起来,把精力放在治理机制和业务嵌入上。主数据项目的成败,八成在组织和流程,两成才在工具,把钱和时间花在能决定成败的地方,别在造轮子上消耗。
写到这里,我想把话收回到最开始那个判断上:主数据模型是一份合同。合同的价值不在于条款写得多厚,而在于签的人认、执行的人守、出了问题能追。建模真正难的地方,从来不是画出实体关系,而是让业务愿意为这份模型的准确性负责。我见过太多团队把八成精力放在画图上,两成放在治理上,然后在上线三个月后被现实教育一遍。
如果你正准备启动一个主数据项目,我给三条建议。第一,别贪全,选一个痛感最强的域做透,用一次真实的成功换来后续的推动力。第二,建模第一天就把下游消费方拉进会议室,让他们提需求、提反对意见,比事后解释有效得多。第三,把质量规则前置,别指望事后清洗能解决问题,脏数据清完还会再脏,只有入口管住了才是长久之计。
工具这件事,我的看法是选一个能跟你一起长的平台。普元这套产品线从主数据到数据开发、资产、BI、AI 问数、数据集,覆盖的是模型从建立到被消费的完整路径,企业不用每走一步换一个供应商。当然,工具再好也只是放大器,它放大的是你已经想清楚的逻辑,放大不了糊涂。先想清楚谁负责、谁消费、怎么变,再去选型,顺序反了就是白花钱。
还有个心态问题。主数据治理没有终点,它是一条持续维护的线,不是一个能剪彩交付的项目。我在项目验收会上从来不说”完成了”,只说”进入常态运维了”。这句话听起来不漂亮,但它是实话。模型会随着业务变化而调整,编码规则会因为并购而扩充,消费方会不断提出新要求,这些都需要有人接住。把这件事想明白,你就不会在上线那天开香槟,而是会去检查三件事:Owner 到位了没有,变更流程跑通了没有,第一个月的质量报告出来了没有。这三件事有答案,这个项目才算真的立住了。
读者评论
张伟民:我们去年做物料主数据,就是栽在字段太多上。一百六十多个字段,一线骂声一片,后来砍到四十个才推下去。文里说的”敢删字段”这句话我太认同了,可惜当时没人提醒。
李静:请问编码规则这块,集团和子公司意见不一致的时候怎么处理?我们现在卡在这儿两个月了,总部要统一,下面说业务特殊。
陈国栋:装备制造那个案例很真实。我们也是八家工厂,重复采购的问题同样存在,只是之前没往数据口径上想,一直以为是采购管理的问题。回头准备把损失清单拉出来试试。
王雪梅:同意”八成在组织和流程”这个说法。我们买过工具,功能挺全,但没人认责,数据该脏还是脏。后来设了域 Owner,情况才慢慢好转。
赵鹏:想问下存量数据清洗大概要预留多长时间?我们这边历史数据十几年了,心里完全没底。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
