DW2.0下一代数据仓库架构_第13章 ETL处理与DW2.0(读书笔记)

版权声明:
该系列文章(DW2.0下一代数据仓库架构)内容系作者学习用笔记,
欢迎共同学习,所载内容版权归原书作(译)者所有,请勿转载商用。
 
    DW2.0中最重要的过程之一是ETL--抽取/转换/装载的处理过程。ETL处理在数据进入交互区或者数据从交互区进入整合区时收集、整理并
集成数据。ETL处理过程对于DW2.0环境中的日常操作是最基本的过程。
 
转换数据状态
    ETL是一种典型的比纯数据流更加强大的东西,是一种改变数据状态的机制。当数据通过并被ETL处理转换时,它经历了一次根本性的
状态转变,从应用状态演变到企业状态。这一根本性的改变时DW2.0基本理论和存在的核心。ETL并不仅仅完成数据的收集和传输工作,其对
数据状态的改变也非常重要,这也是ETL在DW2.0中的基本组件的原因。

ETL使用范围
    从业务系统到DW2.0交互区,从交互区到整合区是ETL过程的使用范围。ETL处理过程能做很多事情,它能行已经多年不被主流DBMS使用的
技术中收集那些遗留的数据。收集这样的数据不是件容易的事情,因为每一个旧的应用环境的接口都需要采用其自己的技术完成。当收集到
这些遗留数据后,真正的数据转换工作开始了。就的遗留系统的最大问题是,他们在设计之初并不是同构的,在结构、格式、计算、数据定
义以及其他语义方面都存在差异。要想使旧的应用数据适用于企业数据环境还需要做大量的工作,而正是由ETL来完成对旧数据主要纠正工作

应用数据到企业数据的转换
    ETL将应用数据转换为企业数据。ETL处理能够以两种基本的模式进行操作:在线实时处理和批处理。

ETL工作模式
    当ETL以在线模式工作时,从执行旧数据处理开始,到这一处理反映在DW2.0中为止,这段时间以很短的时间单位来衡量,比如毫秒。实
时ETL的问题是,速度通常被看做是主要的成功因素。正式因为速度成为衡量成功的主要标准,所以进入DW2.0的数据能够被转换的并不多。
另一种ETL处理模式是批处理模式。在该模式下,旧系统中的交易首先被批量存储,然后在合适的时间对这一批交易执行ETL处理。这意味着
从旧系统处理了交易到DW2.0意识到这一交易数据恐怕已经过了24小时甚至更长时间了。批量ETL的一个优点是有足够的时间进行有效地数据
转换处理。通常实时ETL比较昂贵并且没有多少转换操作,批处理ETL过程无法在系统中快速移动数据,但它便宜的多且支持更多的数据转换
究竟选择批处理ETL还是实时ETL更多的是一种商业选择。

源和目标
    分析人员在源操作数据进入数据仓库之前,就通过建立源到目标的映射决定了应用那种ETL逻辑。这种映射简单地说明了哪些数据必须
放置在DW2.0中,这些数据来自哪里,对这些数据要做那些必要的逻辑操作、计算或格式转换。数据源--操作应用系统环境--成为“源”,
数据在DW2.0中所处的位置成为“目标”,产生原始数据的原系统成为“记录系统”。在流向DW2.0的各单元数据的源到目标的映射过程中
以下问题是必须要回答的:
    1、哪个原系统中的哪个特定单元的数据将构成数据仓库中的数据?
    2、如何处理相同数据的多个来源?
    3、如果需要数据的默认值必须做些什么?
    4、必须做那些逻辑操作才能使得数据适应企业状态?
    5、为将数据重组为企业数据,必须做那些计算?
    6、为了创建企业数据,必须完成那些重构和格式转换

ETL映射
   业务规则是管理映射到DW2.0中的数据的必要组件之一,它对送往DW2.0的数据有着显著的影响,提示着数据的正确性和质量。但是,不同
遗留系统的业务规则不同。因此ETL过程必须向裁判一样来决定对于个单元数据而言那些业务规则凌驾于其他规则之上。

状态转换--实例
    数据在经过ETL处理过程时转换状态。ETL处理将数据由应用状态转换为企业状态。很多情况下数据只是由一个环境转换到另一个环境,
因为它的操作状态和企业状态根本没有差别。但是另外一些情况中,需要进行显著的数据转换。有些情况下,有人说:“我无法相信DW2.0
的数据,因为我上周运行了一个保镖,现在运行相同报表却得到不同的回答”。产生这种困惑的原因是人们不理解企业数据和应用数据之间
的差异,事实上,来自不同源的报表应该是不同的。这种差异是由应用数据转换到企业数据的转换引起的。

更加复杂的转换
    当需要转换数据关键字时,数据转换就变得困难了。通常,当需要转换关键字时,需选定一个被认为合适的应用程序的关键字,其他应
用程序都遵循这种关键字结构。虽然大多数关键字转换都是通过选定一种关键字格式来解决的,但贼ETL过程中偶尔也需呀将数据的关键字
完全转换或替换成一种全新的关键字格式。无论以什么样的方法,在设计ETL时都必须制定数据关键字转换规则。

ETL和吞吐量
    数据吞吐量是ETL处理另一个关注的问题。即使是只包含执行一个操作的最简单的ETL处理,如果吞吐量方面有问题,也可以并行化ETL。
当一个ETL工作流被并行时,一部分数据经过一个ETL处理,另一部分工作流经同一ETL处理的另一个拷贝。ETL处理和工作流被多次复制,直
至获得令人满意的吞吐量。并行ETL吞吐流的建立大大削减了整个数据ETL处理所耗费的时间。从理论上说,ETL处理必须完成大量的转换活动
其中任意一个转换通常都不是很复杂,但是在数据的一次通行中必须完成所有的转换,对于ETL处理而言这的确很复杂。
    可能发生的ETL处理种类包括:
    1、概括处理
    2、日期格式的调整
    3、逻辑规范,例如将“Male/Famale”转换为“M/F”
    4、数据聚合
    5、默认值的提供
    6、DBMS转换
    7、关键字的重构和创建。等

ETL与元数据
    ETL可以用于创建数据转换的一个可审核的记录,即一条被置于元数据中的数据转换审核记录。元数据成为ETL处理一个重要辅助副产品
分析人员在设计ETL处理时创建的源到目标数据映射不过就是一个数据转换审核记录,也就是元数据。源到目标数据映射是关于数据的数据
是关于数据如何按照自身的方式转换进入数据仓库的具体收,因此也是一种跟踪ETL数据转换的设计。对于决策分析人员而言,ETL数据转换
元数据可能是非常重要的工具。终端用户往往想从分析用的数据中找到更多信息,元数据zuoweiETL数据转换处理的副产品,成为终端用户
需求的容易获得的第一步。

ETL与审核记录
    在与源数据经过ETL处理时获得和提供可用的元数据同样重要的是,对ETL处理的审核记录的需要。审核记录可以在元数据经过ETL处理
后留下来。审核记录与元数据非常相似,然而审核记录包含了更多关于数据经过ETL处理的详细数据。典型的数据转换审核记录包括:
    1、一天中处理的记录数
    2、ETL成功完成大批记录处理工作的指示
    3、一天中ETL失败的次数
    4、任何ETL失败的原因
    5、如何解决失败的描述
    6、新加入DW2.0的记录数
    7、读入ETL处理的记录数
    8、ETL启动和运行的时长

ETL和数据质量
    数据经过ETL处理时,可以做些基本的数据质量检查甚至编辑工作。由于源数据无论如何都必须通过ETL处理才能进入数据仓库,所以在
ETL中只需要少数额外的资源以评估数据质量。以下数据质量检查很容易做到:域检查;范围检查;合理性检查。应当指出的是,ETL处理中
做的任何数据质量保证都仅限于对单个数据记录的处理中。乳沟需要多条数据记录来确定数据合法性和质量,那么这种数据质量核查/检查
对ETL来说是很难做到的。
 
创建ETL
    1、采用编程语言从零开始创建ETL;2、购买第三方ETL软件。从零开始创建ETL处理的有点在于它能够运行机构想要的和具体规定的任何
逻辑操作,任何能被编程实现的东西都可以包含在一个ETL中。它的缺点是绝大部分ETL程序都是标准例程,不需要做任何规定。此外,随着
时间的推移,维护代码是一种不佳的,昂贵的,消耗资源的方法。采用第三方软件的优点在于能够比上述方法更迅速地建立ETL处理。另外,
第三方软件的代码更容易维护。问题在于几乎总需要那么一些专门的数据转换算法,他们是如此复杂,以至于难以整合进任何之前已经编程
实现的第三方技术中。

ETL与丢弃
    对ETL而言,如何处理丢弃的数据是其面对的主要挑战之一。
    1、根本不允许丢弃额的数据进入数据仓库。这种方法将那些可能正确且有用的数据阻挡在外。
    2、为那些已知不正确的数据提供默认值。这种方法允许所有的其他附随的有效数据进入数据仓库。一个重要的警告是,这种方法可能会
       会在做数据汇总或其他数据分析时产生非常不规则或不可靠的结果。
    3、将无效数据入库并做标记。这样分析员就知道该数据是无效的
    4、建立一个丢弃文件。只要丢弃文件能够被自动处理,这种方法是个好方法,但是如果丢弃记录需要手动处理,不建议使用

ELT
    在ETL中数据经过抽取、转换后再载入数据仓库;ELT是先抽取载入数据然后再进行转换。ELT存在一些基本的问题:1、数据的清理,完
全有可能在抽取并装载之后忘记做转换工作,这当然是不能接受的。2、数据被载入数据仓库后做转换,会引起数据完整性的问题。所以ELT
并不是一个好的架构选择。

总结:
    ETL是用于转换数据状态的过程。数据通过ETL处理后由应用状态转换为企业状态。ETL处理发生在数据进入交互区时,在数据由交互区进
入整合区时会再次发生。
    ETL可以以在线模式和批处理模式运行。在以在线模式运行时强调数据的移动,而以批处理模式运行时强调数据的转换。
    数据的产生地称为源,数据的去处称为目标,显示数据如何从源到目标的逻辑称为映射,全部数据的源的集合称为记录系统。
    在大量数据需要进入目的地时,ETL处理可以一种并行的方式运行。
    ETL的一个副产品是用于描述数据移动的元数据,它的另一个副产品是审核记录。
    除了数据转换之外,ETL处理还包含了简单地数据质量检查。
    ETL处理可以完全自主开发实现,也可以利用第三方厂商提供的软件来实现。
       

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26613085/viewspace-1320864/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26613085/viewspace-1320864/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值