暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle etl - extraction-transformation-loading

原创 不吃草的牛_Nick 2023-06-20
213

提取、转换和装载概览
在Oracle数据库上运行应用之前,需要填充数据库。数据库数据的最常见来源之一是来自旧系统或某些其他来源的一组扁平文件。

过去,使用SQL*Loader进行传统的或直接的数据装载,是把数据从外部文件装入数据库表的唯一方法。SQL*Loader现在仍然是Oracle提供的从外部文件装载数据的主要实用程序,不过现在还可以使用外部表特性,该特性利用SQL*Loader工具访问位于外部数据文件中的数据。

因为原始数据可能包含格式不符合应用要求的无直接联系的信息或数据,通常需要在数据库使用它们前进行某种转换。转换数据是对数据仓库的一个特别普通的要求,因为它从多个来源提取所需的数据。

在SQL*Loader中可以对原始数据进行一些初步的或基本的转换。但是,更为复杂的数据转换要求有独立的步骤,可从几种技术中任选其一来处理转换过程。在分析数据前,多数数据仓库的数据要经历3个重要的步骤:提取、转换和装载(ETL).这些步骤定义如下。
(1) 提取(extraction):识别和提取原始数据(并非全都是关系数据库),可能以多种格式、有多个来源。
(2) 转换(transformation):转换数据是3个步骤中最富挑战性和最耗时的,这涉及将复杂规则应用于数据,还包括诸如汇集数据和将函数应用于原始数据等操作。
(3) 装载(loading):装载是指将数据放入数据库表,可能还包括维护表上的索引和约束的任务。

传统上,组织机构使用两种不同的方法来完成ETL过程:转换再装载(transform-then-load)的方法以及装载再转换(load-then-transfbrm)的方法。前者在将数据装入Oracle表之前对其进行清理或转换,并用定制的ETL过程转换数据;后者在大多数情形下并不是完全利用Oracle的内建转换功能。

在装载再转换方法中,首先将原始数据装入临时表,在数据库中执行数据转换处理后再将其移到最终的表。中间临时表是装载再转换方法的关键。这种技术的缺点在于,必须在表中维护多种类型的数据,有的数据处于原始的状态,而有的数据处于最终的状态。

Oracle Database11g提供了极好的ETL能力,支持以一种较新的方法将数据装入数据库,这种方法称为装载时转换(transfbrm-while-loading)方法。通过利用Oracle数据库执行所有ETL步骤,可有效地完成费时费力的ETL处理。Oracle提供了-整套互补的工具和技术,用来减少数据装入数据库的时间,同时简化所需的工作。Oracle的ETL方案包括下面的部分。
(1) 外部表(external table)。外部表提供了一个合并装载和转换过程的方法。使用外部表能够在数据装载中消除一些麻烦的、耗时的中间临时表。
(2) 多表插入(multitable insert)。使用多表插入特性,可同时将数据插入到多个表中,各个表使用不同的条件。这种能力省去了首先把数据分成不同的组,然后才进行数据装载的额外步骤。
(3) upserto这是一个简单拼成的名字,用来表示可用一条简单的语句MERGE将数据插入(insert)表中,或只是更新(update)行数据。MERGE语句将插入新数据,如果行已经存在于表中则更新数据。这简单化了装载过程,因为无需担心表中是否已经存在数据。
(4) 表函数(table function)。表函数产生一组行作为输出。表函数返回一个集合类型的实例(嵌套表和VARRAY数据类型)。表函数类似于视图,但不是在SQL中声明性地定义转换,而是在PL/SQL中过程性地定义它。表函数在进行大量复杂的转换时很有用处,因为可以在装载数据到数据仓库前进行转换。
(5) 可移植表空间(transportable tablespace)。这些表空间提供将数据从一个数据库移到另一个数据库的快速有效的方法。例如,可利用可移植表空间在一个OLTP数据库和一个数据仓库之间移植数据。

注解 也可以使用OWB(Oracle Warehouse Builder)来有效地装载数据。OWB提供了一个通过SQL*Loader将数据装入数据库的向导驱动的实用程序.OWB可从Oracle数据库或扁平文件中装载数据.此外,OWB还可以通过Oracle Transparent Gateways(Oracle透明网关)从其他数据库(如Sybase、Informix和Microsoft SQL Server等)提取数据。OWB以一种易于使用的格式组合了ETL和设计函数。



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论