参考数据管理是对定义的数据值域进行控制,包括对标准化术语、代码值和其他唯一标识符以及每个取值的业务定义的控制,和对数据域值列表内部和跨不同列表之间的业务关系的控制;并且对准确、及时和相关参考数据值的一致,共享使用进行控制,以进行数据分类和目录整编。
如参考数据-“ 订单状态 ”:新建立、处理中、完结、取消等。
主数据管理是对主数据值进行控制,以实现跨系统的一致、共享、上下文相关地使用主数据,以及对核心业务实体的真实情况的最准确、及时和相关的版本进行控制。
主数据一般包括下列实体的数据:
人,包括个人、组织及其角色,比如客户、公民、病人、厂商、供应商、业务伙伴、竞争对手、员工和学生等。
产品,包括内部和外部的产品。
财务结构,例如总账、成本中心、利润中心等。
位置,例如地址信息
首先必须说明,单一的业务系统应该没有主数据的概念,参考数据为了确保不同的业务采用同样的控制模式,可以存在。
随着业务系统的不断增加,核心业务实体不断被抽象出来,在不同业务系统之间实现业务实体的共享和流转,就产生了主数据管理。
按照DAMA-DMBOK,理想的参考数据和主数据架构应该是这样的。
参考数据和主数据只有一份正本,各业务系统只在这一份正本数据上进行相关业务操作,所有参考数据和主数据都是一致的。
但实际上主数据管理不是一蹴而就的,而且主数据的传播跟业务也很大的相关性,实时性要求高的采用SOA总线接口方式,稍微差一些的采用消息队列方式,批量数据的传播则采用sftp/ftp方式,为了确保数据的一致性和版本管理,中间还构建了主数据管理平台,逐渐的主数据管理就演变成了以下的架构方式。
这种架构方式看起来也很合理,但笔者在最近做主数据监控和管理过程中,发现了诸多问题,这些问题与主数据有关、与数据质量有关、和业务系统有关 、和业务部门有关、和数据治理组织也有关。
在前文中有一个统计数据,据统计数据质量问题76%来自数据录入错误,53%来自源系统的变化,48%来自数据迁移或项目改建,46%来自用户不同的期望,26%来自系统错误。
在主数据问题分析中,也可以大致分为存量数据问题、业务流程问题、技术问题、网络问题。
网络问题是造成主数据流转出现问题的直接原因,网络抖动和网络问题时有发生,但不是主要问题,也可以通过重发机制,将数据弥补过来。
数量最多的是存量数据问题,这类问题大多数历史遗留原因导致的,系统上线之初,未按照主数据的要求进行数据迁移,A、B、C要确保一致性,只有A表正常迁移了;但需要同步A、B、C表,下游缺乏B、C表内容,所以A表也无法同步下去,据统计存量数据问题约占了80%的数据量。
其次是技术问题,主数据从A系统分发到B系统,但B系统只负责接收,但实际上并未正确入库,或者未正确返回状态,这样也会导致主数据不一致,上游的表结构修改也会导致此类问题发生。
最后是业务流程问题,A系统和B系统按照相关的业务规范实现数据流转,但随着业务的变化,A系统进行了相关修订,但B系统认为此修订与之无关,既然无关,部分数据可用可不用,所以干脆直接放弃好了。
后面的三类问题通过组织各个干系人,包括技术支撑部门、各业务部门、各业务厂家,终归可以得到解决方案,但在实际解决过程中,常常面临着职责不分,沟通协调机制、费用分摊等难题,导致看起来容易解决的问题,实际解决起来遥遥无期。
这就涉及到数据治理组织的问题了。