企业主数据平台架构

传统企业中IT服务系统烟囱模式比较突出,有很多系统,而且系统之间都有一份基础数据,导致系统间数据重复维护及一致性和通信问题。所以统一一套基础数据变得非常重要。

1.1 什么是主数据系统

主数据系统是一个企业级的数据管理系统,用于维护组织内部重要的核心数据,例如客户、供应商、产品、地点、行业分类、组织架构、员工信息等。主数据系统的目的是确保组织内部的各个部门都使用同一份准确、一致、完整的数据,以提高业务流程的效率、减少错误和冗余数据,从而优化组织的运营和决策。

1.2 主数据系统都包括什么

主数据系统主要包括:

  • 数据层面:
    • 数据收集:收集基础数据源
    • 收据清洗和治理
    • 数据分发和数据查询服务
  • 系统层面
    • 数据模型管理
    • 视图管理
    • 字典管理
    • 用户管理
    • 审批引擎

1.3 主数据系统架构

1.3.1 设计原则

主数据的设计主要有以下几种设计:

集中式设计

集中式设计主要是将数据集中在主数据平台上,上游基础平台的数据通过数据推送或binlog同步等方式将核心基础数据同步到主数据平台。主数据平台进行数据清洗和整合存储。为下游系统提供基础数据服务和分发服务。

这种设计优缺点如下:

优点:

  • 数据强一致性
  • 数据管理统一

缺点:

  • 需要数据的交互(推送)或同步,需要处理维护数据流

注册式设计

注册式设计主要各个数据仍旧在个基础业务系统,主数据平台主要用户维护数据关系及数据在哪个系统的注册。

这种设计的优点是不需要数据同步,但缺点也很明显,不能进行统一数据管理,不能很好的保证数据的一致性。数据分发困难。

本文主要讨论的是集中式主数据设计方案。

1.3.2 整体架构

集中式主数据的整体架构如下

总体上分为三个个系统服务:Web应用管理、数据处理和API服务。

Web应用管理主要管理类事务;数据处理主要是将主数据接入、清洗和整理进入数据库。API服务负责与外界系统交互,包括数据推送接收和数据分发退出。

1.3.3 数据处理详细设计

数据处理上可以分解成三部分:统一API、数据处理和数据分发

统一API

统一API负责与外部系统交互,主要为上游系统通过API将数据推送到主数据,主数据系统记录WAL日志(以方便系统重启或突然挂掉后能够重启以及监控数据是否漏掉或重复)和写入kafka或rocketmq之类的消息队列,。API另外一个能力为外部业务系统提供实时查询能力。此处的查询能力为什么不采用直接从数据库读而是引入ES?添加ES作为对外提供实时查询主要目的是提供复杂的查询需求和聚合能力,在数据量比较少或查询不复杂没有模糊查询需求可以直接使用mysql从库。

数据处理

从消息队列中读取数据,进行数据校验和数据整合,包括连库整合或或调用RPC整合,此处如果为通用主数据平台的话,可以设计DSL处理清洗和整合任务,否则直接按业务处理就行,因为80%-90%均为单表接入,不存在整合。

数据分发

主数据分发主要将处理好的数据从消息队列中读取,从系统中获取注册要分发的系统meta信息,通常为http或RPC,将数据推送到下游系统,可以设计成不同系统订阅的过滤。

1.4 总结

主数据平台核心是将数据收集过来,经过加工清洗和整合,对下游系统提供基础数据服务和分发服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值