您的位置:首页 > 其它

抽取、转换和装载介绍(四)抽取数据

2016-04-11 10:24 204 查看
ETL架构中最初几个子系统是了解源数据和抽取数据的问题,并且将数据传输到数据仓库环境中,这样ETL就能独立于工作系统对这些数据进行操作。最初的子系统接口是面向源系统的,用于访问所需的数据。

子系统1——数据探查

这部分是对数据技术性分析,对数据的内容、一致性和结构进行描述。

战略性任务:一旦确定了某个候选的数据源,要进行轻量级的探查评估确定该数据源是否适合于包含到数据仓库中。这个很重要,免得项目搞了几个月最后发现数据源存在问题。
战术性任务:通过一些列探查尽可能多的确定出各种问题。
探查阶段为ETL团队提供了指导,需要多少数据清洗机制,并且不至于因为创建处理脏数据的系统分散了注意力而遗漏项目的主要环节。

子系统2——变化数据捕捉系统

由于大多数数据仓库的表都很大,不可能在每个ETL周期中都进行更新。

因此系统必须一定的功能,仅在当前源数据和上次更新后的数据相比发生改变时,才传递相关变化。

变化数据捕捉的思想是:仅提交那些和上一次装载相比变化了的数据,系统主要目标是:

可将变化的源数据分离出来进行有选择的处理,而不是进行完全更新。
捕捉对源数据的所有变化(删除、编辑和插入)。
使用原因代码来区别实际更新与错误的更正。
支持对其他的源数据的合规性跟踪。
尽可能早的实施变化数据捕捉,最好在大量数据传输到数据仓库之前就完成相关工作。
子系统3——抽取系统

更多的情况是每个源都可能是在不同的系统、环境或者DBMS中。

比如,关系DBMS、平面文件、XML源、Web日志或者复杂的ERP系统等形式存在。

从源系统中获取数据有两种方式,以文件形式或者以流的形式。

以流方式从源数据系统流出经过转换引擎到写入数据库将是一个完整的过程。

而以文件方式则包括三到四个离散步骤:将数据抽取到文件中、将文件移动到ETL服务器、转换文件内容和将转换数据写入到数据库中。

流式传输的有点很明显,但是文件传输方式也有其有点:

抽取的文件容易从不同的点重新开始,只要保存了文件就可以不影响源系统的前提下重新运行装载。
使用网络传输可以很轻松的对数据加密。
传输之前或者之后很容易比较文件,一次验证所有的数据是否都以正确传输。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: