ETL(抽取、转换、加载)是DW2.0中的整合部件,它的主要目的是将操作数据转换为企业数据,并整合入DW2.0环境中。ETL过程建立了源系统的系统记录到目标系统的数据的映射,并按照映射规则进行数据转换。
ETL处理过程可以手工编码完成,也可以使用工具来自动完成。手工编码方式需要程序员来编写和维护迁移代码。迁移工具方式需要将数据映射规则定义在工具中。
一般来说,手工编码只在编码工作量非常小时使用。如果有大量的代码需要编写,最好使用迁移工具来定义源系统及目标系统中数据的映射规则。
无论使用哪种方式建立ETL程序,目的都是将数据从源系统中迁移入目标系统。
第一个常见的安置ETL程序的执行环境是主机环境,即操作型系统环境。
主机环境是执行操作处理的环境。在这里执行ETL程序的一个好处是,在这里操作环境的所有数据都可以得到。有时,也需要参照数据和其他数据源的数据。因为ETL程序在操作型环境中,所以这些数据自然都可以得到。
将ETL处理建立在操作环境的缺点如下:
1)机器环境比较昂贵。
2)操作环境的处理器可能没有空闲时间来运行ETL处理过程。
3)ETL处理对环境的要求和操作型处理对环境的要求不太一样。
而且,ETL处理放于操作环境中,由于负载很重,所以将来很难再分出更多的时间给ETL处理。
第二个安置ETL处理程序的位置是在数据仓库的机器上。
未经加工的数据经过ETL处理过程进入数据仓库。安置ETL处理程序在数据仓库的机器上有优点,也有缺点。
优点如下:
1)机器环境相对主机环境较便宜。
2)很容易使数据处理完后立即进入数据仓库。
3)当需要更多的资源时,可以较容易的得到。
而且,ETL处理不会和在线交易系统进行资源竞争。
缺点如下:
1)一些保存在操作型环境中的辅助数据在需要时不能很方便的得到。
2)大量的未经加工的数据必须通过ETL处理。
第三个安置ETL处理程序的位置是在操作型环境和数据仓库之间的一台独立的机器。使用这台独立的机器进行数据处理,并将数据处理结果迁移入数据仓库中。这种方式也有自己的优点和缺点。
优点是机器的处理器资源可以完全用于处理ETL过程。也就意味着,机器的成本可以降低的最小级别,不会和操作型环境竞争资源。
缺点如下:
1)必须处理大量的未经加工的数据。
2)操作型环境中的一些辅助数据不易得到。将数据加载入数据仓库需要额外的处理资源。
第四个安置ETL处理程序的选择是在操作型环境和数据仓库之间建立多处理器环境。在有非常大量的数据需要处理,而且要求处理速度非常高时,这种环境最为适合。
这种环境中,数据流以并行的方式进行处理,处理的速度的非常快。如果需要更大的数据吞吐量,可以增加处理器。使用这种并行处理方式时,源系统可以用流水式的方式进行数据供应。
在处理ETL过程时,有时需要一个数据准备区(staging area)。
数据准备区有自己的处理器和存储空间。数据从操作型环境中迁移入数据准备区中。数据进入准备区后,在这里等待其他数据的到来,也可以为并行处理提供准备工作。
数据并行处理的方式有一个缺点,不同处理器处理的数据之间不能进行交互。每一个处理器都是独立的完成自己的工作。这虽然不会给DW2.0架构带来问题,但是我们也应该记在心里。
本日志来源于Inmon的网站。 |