位置:51电子网 » 技术资料 » 其它综合

商业智能和数据仓库

发布时间:2008/5/28 0:00:00 访问次数:369

做数据仓库系统,etl是关键的一环。说大了,etl是数据整合解决方案,说小了,就是倒数据的工具。回忆一下工作这么些年来,处理数据迁移、转换的工作倒还真的不少。但是那些工作基本上是一次性工作或者很小数据量,使用access、dts或是自己编个小程序搞定。可是在数据仓库系统中,etl上升到了一定的理论高度,和原来小打小闹的工具使用不同了。究竟什么不同,从名字上就可以看到,人家已经将倒数据的过程分成3个步骤,e、t、l分别代表抽取、转换和装载。

其实etl过程就是数据流动的过程,从不同的数据源流向不同的目标数据。但在数据仓库中,etl有几个特点,一是数据同步,它不是一次性倒完数据就拉到,它是经常性的活动,按照固定周期运行的,甚至现在还有人提出了实时etl的概念。二是数据量,一般都是巨大的,值得你将数据流动的过程拆分成etl

现在有很多成熟的工具提供etl功能,例如datastage、powermart等,且不说他们的好坏。从应用角度来说,etl的过程其实不是非常复杂,这些工具给数据仓库工程带来和很大的便利性,特别是开发的便利和维护的便利。但另一方面,开发人员容易迷失在这些工具中。举个例子,vb是一种非常简单的语言并且也是非常易用的编程工具,上手特别快,但是真正vb的高手有多少?微软设计的产品通常有个原则是“将使用者当作傻瓜”,在这个原则下,微软的东西确实非常好用,但是对于开发者,如果你自己也将自己当作傻瓜,那就真的傻了。etl工具也是一样,这些工具为我们提供图形化界面,让我们将主要的精力放在规则上,以期提高开发效率。从使用效果来说,确实使用这些工具能够非常快速地构建一个job来处理某个数据,不过从整体来看,并不见得他的整体效率会高多少。问题主要不是出在工具上,而是在设计、开发人员上。他们迷失在工具中,没有去探求etl的本质。

可以说这些工具应用了这么长时间,在这么多项目、环境中应用,它必然有它成功之处,它必定体现了etl的本质。如果我们不透过表面这些工具的简单使用去看它背后蕴涵的思想,最终我们作出来的东西也就是一个个独立的job,将他们整合起来仍然有巨大的工作量。大家都知道“理论与实践相结合”,如果在一个领域有所超越,必须要在理论水平上达到一定的高度

探求etl本质之一

etl的过程就是数据流动的过程,从不同异构数据源流向统一的目标数据。其间,数据的抽取、清洗、转换和装载形成串行或并行的过程。etl的核心还是在于t这个过程,也就是转换,而抽取和装载一般可以作为转换的输入和输出,或者,它们作为一个单独的部件,其复杂度没有转换部件高。和oltp系统中不同,那里充满这单条记录的insert、update和select等操作,etl过程一般都是批量操作,例如它的装载多采用批量装载工具,一般都是dbms系统自身附带的工具,例如oracle sqlloader和db2的autoloader等。

etl本身有一些特点,在一些工具中都有体现,下面以datastage和powermart举例来说。

1、静态的etl单元和动态的etl单元实例;一次转换指明了某种格式的数据如何格式化成另一种格式的数据,对于数据源的物理形式在设计时可以不用指定,它可以在运行时,当这个etl单元创建一个实例时才指定。对于静态和动态的etl单元,datastage没有严格区分,它的一个job就是实现这个功能,在早期版本,一个job同时不能运行两次,所以一个job相当于一个实例,在后期版本,它支持multiple instances,而且还不是默认选项。powermart中将这两个概念加以区分,静态的叫做mapping,动态运行时叫做session。

2、etl元数据;元数据是描述数据的数据,他的含义非常广泛,这里仅指etl的元数据。主要包括每次转换前后的数据结构和转换的规则。etl元数据还包括形式参数的管理,形式参数的etl单元定义的参数,相对还有

做数据仓库系统,etl是关键的一环。说大了,etl是数据整合解决方案,说小了,就是倒数据的工具。回忆一下工作这么些年来,处理数据迁移、转换的工作倒还真的不少。但是那些工作基本上是一次性工作或者很小数据量,使用access、dts或是自己编个小程序搞定。可是在数据仓库系统中,etl上升到了一定的理论高度,和原来小打小闹的工具使用不同了。究竟什么不同,从名字上就可以看到,人家已经将倒数据的过程分成3个步骤,e、t、l分别代表抽取、转换和装载。

其实etl过程就是数据流动的过程,从不同的数据源流向不同的目标数据。但在数据仓库中,etl有几个特点,一是数据同步,它不是一次性倒完数据就拉到,它是经常性的活动,按照固定周期运行的,甚至现在还有人提出了实时etl的概念。二是数据量,一般都是巨大的,值得你将数据流动的过程拆分成etl

现在有很多成熟的工具提供etl功能,例如datastage、powermart等,且不说他们的好坏。从应用角度来说,etl的过程其实不是非常复杂,这些工具给数据仓库工程带来和很大的便利性,特别是开发的便利和维护的便利。但另一方面,开发人员容易迷失在这些工具中。举个例子,vb是一种非常简单的语言并且也是非常易用的编程工具,上手特别快,但是真正vb的高手有多少?微软设计的产品通常有个原则是“将使用者当作傻瓜”,在这个原则下,微软的东西确实非常好用,但是对于开发者,如果你自己也将自己当作傻瓜,那就真的傻了。etl工具也是一样,这些工具为我们提供图形化界面,让我们将主要的精力放在规则上,以期提高开发效率。从使用效果来说,确实使用这些工具能够非常快速地构建一个job来处理某个数据,不过从整体来看,并不见得他的整体效率会高多少。问题主要不是出在工具上,而是在设计、开发人员上。他们迷失在工具中,没有去探求etl的本质。

可以说这些工具应用了这么长时间,在这么多项目、环境中应用,它必然有它成功之处,它必定体现了etl的本质。如果我们不透过表面这些工具的简单使用去看它背后蕴涵的思想,最终我们作出来的东西也就是一个个独立的job,将他们整合起来仍然有巨大的工作量。大家都知道“理论与实践相结合”,如果在一个领域有所超越,必须要在理论水平上达到一定的高度

探求etl本质之一

etl的过程就是数据流动的过程,从不同异构数据源流向统一的目标数据。其间,数据的抽取、清洗、转换和装载形成串行或并行的过程。etl的核心还是在于t这个过程,也就是转换,而抽取和装载一般可以作为转换的输入和输出,或者,它们作为一个单独的部件,其复杂度没有转换部件高。和oltp系统中不同,那里充满这单条记录的insert、update和select等操作,etl过程一般都是批量操作,例如它的装载多采用批量装载工具,一般都是dbms系统自身附带的工具,例如oracle sqlloader和db2的autoloader等。

etl本身有一些特点,在一些工具中都有体现,下面以datastage和powermart举例来说。

1、静态的etl单元和动态的etl单元实例;一次转换指明了某种格式的数据如何格式化成另一种格式的数据,对于数据源的物理形式在设计时可以不用指定,它可以在运行时,当这个etl单元创建一个实例时才指定。对于静态和动态的etl单元,datastage没有严格区分,它的一个job就是实现这个功能,在早期版本,一个job同时不能运行两次,所以一个job相当于一个实例,在后期版本,它支持multiple instances,而且还不是默认选项。powermart中将这两个概念加以区分,静态的叫做mapping,动态运行时叫做session。

2、etl元数据;元数据是描述数据的数据,他的含义非常广泛,这里仅指etl的元数据。主要包括每次转换前后的数据结构和转换的规则。etl元数据还包括形式参数的管理,形式参数的etl单元定义的参数,相对还有

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!