CIO信息化管理 |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
BI设计:三个仓库两个通道一个规则 |
|
newmaker |
|
BI系统的设计思路是什么?这个问题可是说来话长。笔者总结认为BI系统的设计原理就是三个仓库二个通道和一个规则。
三个仓库:数据源、临时存储区域和目标仓库
BI系统是一个数据分析的工具。巧妇难为无米之炊。如果没有合适的基本数据,那么BI系统就什么都不是。数据当然是存放在仓库中。为此这里首先需要强调的就是三个仓库的问题。
数据源指的是BI系统的原始数据。如BI系统可以从ERP系统中获取数据,也可以从Excel等表格文件中获取数据。这些存放数据的地方就是数据源。对于BI系统来说,能够支持的数据源越多,其灵活性就会越大。因为在实际工作中,不同的企业往往会有不同的数据源。如上了ERP系统或者进销存系统的企业,其数据源就是数据库。而现在企业中使用的数据库也是非常的多,如Oracle或者MySQL等等。而没有上这些信息化管理系统的企业,其日常交易的数据往往都是存放在Excel表格中。
可见企业存放数据的方式比较多样。如果企业所选择的BI系统不能够支持很多种类的数据源,如只能够支持微软的产品(包括表格或者数据库)。那么对于使用Oracle数据库的企业来说,就会比较麻烦。此时他们可能需要根据固定的格式,将数据先转换为Excel表格,然后再使用。简单的说,如果BI系统能够支持多种数据源,那么BI系统所使用的数据源仓库就可能与其他应用软件所采用的数据源仓库相同,即公用。而可以免于相互导入导出的麻烦。反之,如果不兼容的话,那么就需要采用多个数据源。这无疑会增加后续维护管理的工作量。所以对于数据源来说,兼容性是一个不容忽视的问题。
临时存储区域主要用来存放BI系统所关系的数据。如现在BI系统从一个ERP数据库中获取数据。众所周知,ERP系统后台数据库的表格数以千计。而针对某个特定的BI业务,其所需要用到的表格一般不会超过二十张。为此出于效率与成本的考虑,BI系统从数据源中读取数据时,往往读取的是其比较关心的内容。如对于交货及时率分析,产品的价格表、生产成本表等等,BI系统并不需要知道。其只需要知道销售订单、订单出货情况的等等一部分内容。
为此在使用BI系统时,BI 系统一般会先将数据从数据源中截取部分(按需读取)然后存放在这个临时存储区域。对于这个临时存储区域,笔者认为应该从两个部分来把握。首先,这个存储区域,截取的是数据源中部分的数据。注意,笔者这里采用的是截取这个关键词。这就表示,临时存储区域中的数据是数据源的一个子集。在这里存储的数据,只是范围上比较窄而已。从数据本身的内容来看,两者并没有明显的不同。为什么要这么设计,在后续谈到规则时笔者还会做说明。第二个关键点是临时。数据源中的数据作为基础数据,当然需要一直保存。而这个临时存储区域的数据,一般不会永久保存。至于为什么要这么设计,可能要结合下面一个仓库“目标仓库”来进行说明了。
目标仓库,简单的说,就是用户所需要的数据。这个数据与数据源或者临时存储区域中的数据会有明显的不同。因为此时目标仓库的数据,是一个经过过滤、四则运算、逻辑判断等等处理后的数据。或者说是用户最后想要看到的数据。从临时存储区域中的数据,根据用户的要求,进行一定的处理后,就变为了目标仓库。
在实际工作中,我们对数据进行备份时,是对目标仓库中的数据进行备份,即只是针对最终的数据进行备份。在这种情况下,中间临时存储区域的数据就没有用途了。此时应用程序往往会对其进行删除。如果永远保存的话,就有两份基础数据(临时存储区域和数据源),反而容易混淆。为此对于临时存储区域中的数据,系统会定时的进行清除。同时根据用户的需要,定时的对目标仓库中的数据进行备份。
以上就是在BI系统设置中需要用到的三个仓库。笔者在这里做一个总结。数据源就是BI系统所需要用到的原始数据。如何保障其数据的准确性以及数据源的兼容性,这是项目管理员需要考虑的一个问题。临时存储区域是数据源的一个子集,其作用是承上启下,便于目标仓库对数据的运算。目标仓库中存储的数据是用户最终希望看到的结果,是对数据抽样、统计、分析后的一个结果。
二个通道:数据包通道和数据流传输通道
从上面三个数据仓库的分析中可以知道,不同的数据仓库之间需要有数据的流转。他们是如何来进行流转的呢?通道就是用来解决这个问题。
首先是从数据源仓库转到临时存储仓库,此时使用的主要是数据包通道。从上面的分析中可以得知,在这个数据通道中,没有用到任何的条件、逻辑运算等等,其只是数据源仓库的一个简单的子集。如可能只是抽取了数据源仓库中某几张表、或者某张表中的部分字段等等。其与数据源中的数据是完全一致的。这是由于这个原因,为此临时存储仓库中的数据有很好的公用性。
如现在临时存储区域中有个价格表。在采购成本分析、供应商考核报表中都需要使用到这个价格表。此时项目管理员就可以直接读取临时存储区域中价格表的信息,而不用再舍近求远,从数据源那边去获取。对于数据包通道我们可以理解为一个搬运工,其只是数据简单的迁移,并不会对数据进行任何的操作。其搬移前后的数据应该是相同的。如果不相同,那就犯错误了。
数据流通道其作用是将临时存储区域中的数据迁移到目标数据库中。笔者这里采用了迁移,而不是搬移。这两个词在中文词典上还是有一定的差异。迁移表示其迁移前后的数据会有所不同。其实在这个迁移的过程中,还同时伴随这一个规则,即如何对数据处理的设置。具体的内容,笔者在一个规则的描述中会谈到。在这里笔者认为大家只需要知道,临时存储区域中的数据经过一定的处理之后才会被转送到数据流通道中。或者说,数据流通道中会伴随着一些规则的应用。
一个规则:对数据的分析以及过滤
如果用户看到的最终数据,只是对原始数据的截取,那么BI系统也就没有存在的必要了。BI系统的核心功能就是对原始数据的统计分析。简单的说,就是对数据源中的几张表进行统计、分析、逻辑运算、过滤等等。如在分析交货及时率时,就需要对销售订单、出货单据等等表格进行联合查询,并加以一定的判断与逻辑运算,最后才得到用户所想要的结果。这些运算、过滤的条件统称为规则。其实我们大部分的BI设计工作,都是围绕这个规则所展开的。
另外需要提醒的是,规则只有在数据流传输通道中才会应用。而在数据包传递过程中不会采用任何的规则。这主要是因为BI系统只是一个数据分析的过程,并不会也不能够对原始数据进行任何的更改。即使简单的数据类型调整,也都是在数据流传输通道中完成。为了保障原始数据不被无意的更改,就禁止来数据包传递通道中采用任何的规则。从这个角度来看,临时存储区域其实也有一个保护数据源不被更改的作用。(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(5/11/2011) |
对 CIO信息化管理 有何见解?请到 CIO信息化管理论坛 畅所欲言吧!
|