解读SAP系统下 BI如何从ERP系统成功抽取数据
BI是一个数据分析的工具,而ERP系统则是一个联机事务处理系统。这两个系统之间会产生交集吗?答案是肯定的。做一个形象的比喻。ERP系统就好像是一个油田,而BI就是一个炼油的工具。BI系统在炼油时,肯定需要原油。这个原油就是ERP系统中的数据。在这篇文章中,笔者就以SAP的ERP系统和BW系统(BI系统的一种)为例,分析一下如何有效的从ERP系统中抽取数据。
一、从ERP系统中抽取数据需要解决的问题
当BI系统从ERP系统中抽取数据时,用户主要关心的是三个问题。一是数据抽取是否完全,二是数据抽取是否准确,三是数据抽取是否及时。如果能够确保这三个问题都不成问题了,那么这个数据抽取的解决方案就是成功的。
在实际工作中,一般数据抽取可以分为两个部分。一是初始化抽取。在这个部分中,往往是采取完全抽取的方式。即将ERP中的数据全部抽取到BI中。如果企业ERP运行的时间比较长,这个抽取的过程会比较漫长。如笔者做过一个项目,这个数据的初始化抽取工作就会了2天时间。二是后续的抽取。当第一次抽取后,数据会有变化。对于这些变化的数据,一般不会采取完全覆盖的方式。即不会将已经抽上去的数据清除,然后重新来过。如果这样做的的话,传输的时间会比较长。通常情况下,我们采用的方式增量更新的方式。简单的说,就是只更新上次更新后未更新的数据。
如果采用增量更新的话,那么项目管理员只需要关心捕获、运输和融合三个话题。捕获表示系统如何判断数据是否更新、是否有删除等等;运输表示数据如果传递到BW上去;融合指的是新旧数据如何对接等等。在SAP的解决方案中,对此都有比较详细的处理方式。
二、系统初始数据抽取
在实际项目中,一般都是先有ERP系统,然后再上BI项目。这就好像是炼油。一般都是先有原油,然后再进行提炼。而且BI项目其分析的一般都是3-5年的数据,为此ERP系统中的数据量已经比较多了。
为此第一次数据的抽取,所需要花的时间是比较多的。如上图右面的分支所示,就表示在SAP系统中第一次如果从系统中抽取数据。为了保障数据抽取的准确性与高效性,SAP专门为BI系统准备了一张SetUp表。这张表是根据BI系统的需要而设计的。通常情况下,SAP中的数据BI系统可能只需要50%即可。所以这张SETUP表是为BI系统量身定制的。数据要比原系统的数据要少。
在数据抽取之前,一般需要先对SetUp表进行清空。以防止该表中原有数据与需要导入的数据出现冲突的清空。清空之后,再将源系统中的数据导入到SetUp表中。通过中间表SetUp,可以过滤到一些BI系统用不到都是数据,以提高数据抽取的效率。将数据抽取到SetUp表之后,再通过工具将数据传输到BI中去。
三、增量更新处理方式
后续的数据,一般都是通过增量更新的方式。如在实际项目中,都会设置一个批处理作业。在晚上下班后,让系统自动将一天之内更新的数据传输到BI中。此时就遇到一个问题,系统如何来判断,哪些数据时更新过的呢?注意,这个地方的数据更新其实包括三方面的内容。分别是数据更新、数据删除和新建数据。
针对这个内容,在SAP系统中其实又提供了两种方式。一是增量队列式。如上图所示,在SAP中专门有一个ExtractionQueue表。当SAP系统中数据有更新时,系统会将数据写入到SAP基础表的同时写入到这个表中。也就是说,这个表中的数据就是最近所更新的数据。需要注意的是,这个表中的数据一般保存的是最近更新的和最近一次更新的。系统会在记录中做一下标识来判断数据是否已经传输到了BW中去。一般的IO数据抽取,都是采用这种方式。
二是采用时间戳的方式。即系统在数据更新时,会记录数据更新的时间。这个时间往往是精确到秒的。然后系统中另外有一个地方会记录系统上次抽取数据的时间。然后这次数据抽取时,其就会将这两个时间进行比较,然后将晚于这个时间的数据全部抽取上去。通常情况下,财务相关的数据,都会采用这种方式来抽取。
也就是说,系统中可以允许同时存在这两种数据。到底是用甚么样的数据,就要看用户的需要而定。不过一般情况下,物流相关的数据,推荐是用增量队列的方式。而财务相关的数据,则采用时间戳的方式。
这另外需要提醒的是,上图所示的ExtractionQueue与DeltaQueue表其实是同一张表。在表中,会有一个字段来标识其到底是属于哪一张表中的内容。也就是说,上图中所显示的表一般是逻辑表,而不是实体表。另外,系统还会额外的提供两张控制表,来确保整个增量更新作业的准确性。
四、项目的建议
在实际项目中,从ERP抽取数据要比上面所话的图复杂的多。除了要掌握上图的基本理论之外,笔者认为在数据抽取时,还需要关注如下内容。
一是要充分认识到从BI系统中抽取数据的重要性。在实际项目中,虽然有时候也需要从文本数据中获取数据,但是这个比例并不是很高。在笔者遇到的项目中,一般文本类型的数据只有10%左右。大部分的数据都是来源于ERP系统。为此从ERP系统中抽取数据,无论是BI系统设计者、还是企业用户,都是无法避免的一个课题。
二是需要注意,数据抽取等系统本身性能的冲击。如上所示,如果采用增量更新方式的话,系统除了要往基础表中写入数据之外,还需要向另外一张额外的表中写入数据。可见,这会增加服务器的负担。特别是当数据量比较多时,会还用比较多的系统资源。为此在数据抽取时,要关注对系统本身性能的冲击。一般情况下,都会采取一些措施来避免这种情况。如可以合理安排数据抽取的时间,将其放在用户使用量比较少的时候。像在SAP系统中,其采用的是中间表的方式,来减少数据的传输量。
三是需要注意,对于SAP系统来说,那面这些表,是系统专门为BI系统所准备的。即在系统安装时就已经存在了的。只是系统没有启用而已。当企业用户需要使用BI系统时,需要通过事务代码来激活这些表。否则的话,就无法使用。上图中所显示的表格都是逻辑表,实际表的结果要比这个要复杂的多。不过作为BI的事实顾问来说,只需要掌握这些逻辑表即可。对于其后台的基础表,让SAP的技术人员去了解即可。
四是DeltaQueqe的方式。对于BI系统来说,DeltaQueqe其实提供了三种方式。其中比较常用的就是DeltaQueqe方式(上图所示的方式)和DirectQueqe的方式。其中前者对于性能的冲击比较小,因为有中间表的过滤。而后者对于系统性能的冲击比较大。在后续硬件跟的上的情况下,采用DirectQueqe的方式也未尝不可。不过笔者建议,在现阶段,还是采用DeltaQueqe方式为宜。
通过上面的分析我们可以知道,SAP的从ERP系统中抽取数据的解决方案,相对来说是比较合理科学的。可以解决数据传输过程中捕获、传输、融合等方面的问题。无论是项目管理员还是开发人员,都值得借鉴这种处理方式。
解读SAP系统下 BI如何从ERP系统成功抽取数据相关推荐
- 下一代ERP系统是什么样的呢?什么是智能化ERP系统?AI能改变ERP系统吗?
下一代ERP系统是什么样的呢?什么是智能化ERP系统?AI能改变ERP系统吗? 导读 1. 用户体验: 2. 作业.分析和智能一体化 2.1 ERP之采购管理: 2.2 ERP之零售商品管理: 2.3 ...
- linux系统下常用或有用的系统级命令
本文章记录我在linux系统下常用或有用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令.但本文不打算介绍生僻命令,也不介绍各个linux发行版下的特有命令,且以后会 ...
- Windows-Linux:Windows系统下的命令类似Linux系统下的所有命令集合
Windows-Linux:Windows系统下的命令类似Linux系统下的所有命令集合 目录 Windows下的命令类似Linux系统下的所有命令集合 1.基础命令 2.进阶命令 3.高级命令 Wi ...
- Win:Win系统下安装Linux的Ubuntu系统的简介、安装之详细攻略
Win:Win系统下安装Linux的Ubuntu系统的简介.安装之详细攻略 目录 安装图文教程 1.Ubuntu镜像下载 2.设置空间 3.下载并安装Ultraiso软碟通工具 4.及时备份 5.BI ...
- win7 修复计算机无法进入系统,win7系统下启动修复无法正常进入系统的解决方法...
win7系统下启动修复无法正常进入系统的解决方法分享给大家,相信不止一个用户遇到过这样的问题,据相关原因分析,部分系统修复报错文件为:X:\Windows\system32\drivers\spoon ...
- WIN10系统下运行地下管线数据处理系统
WIN10系统下运行地下管线数据处理系统 本文以正元地下管线数据处理系统(PLDPS)为核心,讲述其安装及使用等操作,辅助使用. 软件 软件配套: CAD2008: PLDPS. 注:本文仅在CAD2 ...
- ERP系统是什么意思?ERP系统有哪些品牌?
ERP系统是对企业资源进行全面集成,实现跨组织.跨区域.跨部门信息整合的现代化管理系统,包含营销.客户.项目.销售.合同.采购.库存.生产.产品.售后.财务.人资.办公等很多功能,通过对企业资源的集成 ...
- Windows7系统下安装Ubuntu实现双系统
Windows7系统下安装Ubuntu实现双系统 参考链接: https://blog.csdn.net/naked_emperor/article/details/81871592 https:// ...
- 怎么解决Win10系统下,使用Hyper-V新建xp系统虚拟机,无法连接网络问题?
原文地址:https://www.yii666.com/share/45.html 问题描述 1.Win10系统下,使用Hyper-V新建xp系统虚拟机,无法连接网络问题. 2.怎么把文件放到 xp ...
最新文章
- android 内置app,android9.0内置APP
- Fedora 30将获得Bash 5.0,淘汰Yum推迟到Fedora 31
- PMCAFF | O2O防刷单并没那么难,看完这些你也会反作弊
- golang操作mysql数据库(Go-SQL-Driver/MySQL)
- Win知识 - 程序是怎样跑起来的——系统调用和高级编程语言的移植性
- 使用 JS 实现页面跳转的几种方式总结,小菜一碟!
- 无需插件只使用浏览器下载b站视频
- 各家关节机器人示教器特点
- 气象数据之积温数据的获取与处理
- vue 使用iframe展示pdf文件
- stn专线和otn有什么区别_stn云专线是什么意思?
- php 交换机 密码,S5100系列交换机使用正确的用户名和密码进行SSH登录时提示错误的解决方法...
- GlobalKnowledge: 2013 IT 技能薪水报告
- Read-olny file system-mysql建表不成功
- 显示杂谈(2)为啥选择gamma2.2
- WebDAV是什么,有哪些支持webdav的网盘和工具?
- php mysqli操作数据库
- 目标检测中的多尺度特征
- 【开源】STC单片机免冷启动自动下载器
- 【yoyo】移入切换