ETL为数据仓库服务,数据仓库用于数据分析,数据分析属于BI系统的要干的事儿。
一般中/小型ERP系统都会有不成熟的BI系统,为啥叫做不成熟?
因为它们或者有报表分析功能,但不具有OLAP(在线分析),或者有OLAP,但却没有数据挖掘和深度分析。或者干脆,来个大集成,直接利用第三方工具来达到相应的目的。
为什么会这样,究其原因,很多情况是因为没有自主的数据仓库,没有数据仓库,其它的做起来也就有些四不象了。而要建立数据仓库,首要的是:ETL。
于是,需求就应运而生了。
对了,BI是什么?OLAP是啥?什么又是数据挖掘?鉴于我只能解释其表面含义,我就不多说了。各位不妨找本数据仓库的书,翻翻前几页,一般就明白了。或者Google一把。
我们捡当下最流行的BI应用:OLAP来说说它与ETL的关系。
了解OLAP的人都知道,它的分析模型由事实表和维表组成。但往往OLTP系统中的数据库是为事务而建,而并不为分析而建,而为了BI去改动OLTP数据库是不现实,并且,很多情况下也基本上是不可能的(当然,有些公司把不可能的任务变成可能的,但这显然是一种很僵硬的做法)。
这时候,ETL的作用就显出来了,它可以为OLAP服务,按业务主题提取分析模型进行数据抽取。
(OLAP分析需要什么样的数据支持?可以参看一下OLAP的星型模型)。
再说说数据挖掘:
这个课题实在太大,相关的书藉有很多很多,我还得花时间慢慢去学习。简单的说,这涉及ERP业务和统计学的知识。现在我暂时还没开始相关学习,但它与ETL的关系却很明显。因为数据挖掘所要求的数据大都是高聚合的已处理的数据,所以,不管从获取难度和效率上来说,都不适合直接从OLTP中获取。
同样,需要ETL来帮忙。