|
|
51CTO旗下网站
|
|
移动端

1.4.2 获取-转换-加载(ETL)系统

《数据仓库工具箱(第3版)--维度建模权威指南》第1章数据仓库、商业智能及维度建模初步,本章将详细考察数据仓库及商业智能的主要目标,辨析DW/BI管理者与杂志出版商各自责任中存在的不可思议的相似之处。本节为大家介绍获取-转换-加载(ETL)系统。

作者:王念滨/周连科/韦正现 译来源:清华大学出版社|2015-12-10 16:35

1.4.2  获取-转换-加载(ETL)系统

DW/BI环境中获取、转换、加载(Extract Transformation and Load,ETL)系统包括一个工作区间、实例化的数据结构以及一个过程集合。ETL系统是处于操作型源系统与DW/BI展现系统之间的区域。第19章将详细描述ETL系统的结构以及相关的技术。此处仅对DW/BI系统中的这一基础模块进行简单介绍。

获取是将数据从操作型系统导入数据仓库环境这一ETL过程的第1步。获取意味着读取并理解源数据并将需要的数据复制到ETL系统中以利于后续的处理操作。从这点来看,数据属于数据仓库。

数据获取到ETL系统后,需要进行多种转换操作,例如,清洗数据(消除拼写错误、解决领域冲突、处理错误的元素、解析为标准格式),合并来自不同数据源的数据,复制数据等。ETL系统通过增强或数据变换,采用清洗和整合上述任务的方法,增加数据的利用价值。另外,这些工作还可以建立诊断元数据,逐步建立业务过程再工程以改进源系统的数据质量。

ETL最后的步骤是实际构建和加载数据到展现区域的目标维度模型中。由于ETL系统的主要任务是在交付过程中划分维度和事实,因此其所包含的子系统非常重要。此处定义的子系统关注维度表的处理,例如,代理键分配、查找代码以提供适当的描述、拆分或组合列以提供适当的数据值、连接满足第3范式的数据表成为扁平的不满足规范化要求的维度等。相比之下,事实表往往比较庞大,因此在加载时需要耗费大量时间,将其加载并导入到展现区是必须开展的工作。当维度模型中的维度表和事实表被更新、索引、适当聚集,并确保良好质量后,业务用户就可以开始使用这些数据了。

业界对是否需要将ETL系统保存的数据,在加载到展现区的维度结构(以供查询和报表)时,改变其物理规范化的结构存在争议。ETL系统通常包含简单的排序和顺序化处理等工作。多数情况下,ETL系统并不遵守关系技术,而主要是一种平面文件系统。在验证数据是否满足一对一或多对一规则后,在最后步骤中建立满足第3范式要求的数据库显得毫无意义,只需再次将数据转换为非规范化结构,放入BI展示区中。

当然,很多情况下,即将进行ETL处理的数据往往是满足第3范式的数据。此时,ETL系统开发者在执行清洗和转换工作时使用规范化结构会更加方便。尽管在进行ETL处理时,规范化的数据库是可以被处理的,但我们对这一方法持保留意见。为ETL建立规范化结构和为展现而建立的维度模型意味着数据将会被获取、转换、加载两次--一次加载到规范化数据库中,然后加载到维度模型中。显然,对开发者来说,实现这两个过程需要投入更多的时间和投资。需要更多的时间实现周期性加载或更新数据,需要更多的空间用于存储数据的多个拷贝。最终,这种方式需要更多的开发管理、持续的支持、硬件平台更多的预算。一些失败的DW/BI工作,源于开发者过度关注构建规范化结构,而不是将其主要精力和资源投入到支持改进业务决策的维度展现区域中。尽管保持企业范围内数据的一致性是DW/BI环境的基本目标,但是与在ETL中建立规范化数据表的方法比较,在没有现成的结构时,存在一些更有效和成本更低的方法。

注意:

建立规范化结构支持ETL过程是可以采用的方法。然而,这不是最终的目标。不能在用户查询中使用规范化结构,因为规范化结构难以同时满足可理解性和性能这两个目标。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:342347198

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

一目了然——Web软件显性设计之路

本书阐述了为什么以及如何设计出简单易用的基于Web的软件,让用户单凭常识即可有效地使用它。主要内容包括:显性设计的概念、如何理解用户...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊