ETL

ETL

 

对于数据仓库以及ETL的知识,我基本上是个门外汉。一切都得从头开始,记个笔记,方便自已了解学习进度。
    
    首先,我们来了解最基本的定义:
    嗯,也有人将ETL简单称为数据抽取。至少在未学习之前,领导告诉我的是,你需要做一个数据抽取的工具。
    其实呢,抽取是ETL中的关键环节,顾名思义,也就将数据从不同的数据源中抓取(复制)出来。
    太简单了!
    上面的解释无首无尾,有点象能让你吃饱的第七个烧饼,
    仔细一想,抽取是不可能单独存在,我们需要将与之关联的一些其它环节拿出来。

    于是,得到ETL的定义:
    将数据抽取(Extract)、转换(Transform)、清洗(Cleansing)、装载(Load)的过程。 
    好的,既然到了这一个层次,我们完全会进一步展开联想,引出上面这个抽象事件的前因后果,

    抽取的源在哪里? 
    装载的目的又是什么呢?

    抽取源:大多数情况下,可以认为是关系数据库,专业一点,就是事务处理系统(OLTP)。当然,广义一点,可能会是其它数据库或者是文件系统。
    目的地:OK,我们希望是数据仓库。数据仓库是啥?在学习之前,它对我来说是个抽象的怪物,看过一些简单的资料之后,才了解这个怪物一点都不怪。堆积用来分析的数据的仓库。是了,是用来分析的,于是,它区别于OLTP中的数据存储。

    然后,我们来看看为什么要ETL?
    在我看来,有两个原因。
    一:性能  将需要分析的数据从OLTP中抽离出来,使分析和事务处理不冲突。咦?这不是数据仓库的效果吗?是了,
数据仓库,大多数情况下,也就是通过ETL工具来生成地。
    二:控制  用户可以完全控制从OLTP中抽离出来的数据,拥有了数据,也就拥有了一切。
    嗯,OLAP分析,数据挖掘等等等……。

    最后,总结一下,
    从资料上看,ETL是一门大学问,对于大学问,实在有些怕怕,所以,我觉得应该停下来想一想,下一步我该干点啥?
    嗯,时不我待,我没有办法一切从头开始,
    是了,从应用出发,看看现在工作中,最急需的是什么?

    鸭子要变成一盘菜,并不是举手将之置于油锅之劳。 
    OK,要将生米变为熟饭,鸭子放上大盘,一堆废话之后,我得先看看厨房里都有了一些啥?

 

  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来帮忙。

    因此,按本人粗浅的理解:
    ETL实在是: BI系统 设计开发,项目实施 之必备良药!

    有句名言讲得好:成为巨人不如站在巨人的肩膀上。
    如果想对ETL有详尽的了解,不妨先了解一下现有流行的ETL工具。

 

来至: http://blog.csdn.net/tiger119/archive/2007/01/14/1482648.aspx

 

// 

你可能感兴趣的:(etl)