ITPub博客

首页 > 大数据 > 数据挖掘 > ETL系列之架构

ETL系列之架构

数据挖掘 作者:ITtomilk 时间:2016-02-23 09:32:31 0 删除 编辑

转载处:http://blog.sina.com.cn/s/blog_702b71de0100q591.html

在ETL过程中四个基本的过程分别是什么?

  Kimball数据仓库构建方法中,ETL的过程和传统的实现方法有一些不同,主要分为四个阶段,分别是抽取(extract)、清洗(clean)、一致性处理(comform)和交付(delivery),简称为ECCD。
  1、抽取阶段的主要任务是:
  读取源系统的数据模型。
  连接并访问源系统的数据。
  变化数据捕获。
  抽取数据到数据准备区。
  2、清洗阶段的主要任务是:
  清洗并增补列的属性。
  清洗并增补数据结构。
  清洗并增补数据规则。
  增补复杂的业务规则。
  建立元数据库描述数据质量。
  将清洗后的数据保存到数据准备区。
  3、一致性处理阶段的主要任务是:
  一致性处理业务标签,即维度表中的描述属性。
  一致性处理业务度量及性能指标,通常是事实表中的事实。
  去除重复数据。
  国际化处理。
  将一致性处理后的数据保存到数据准备区。
  4、交付阶段的主要任务是:
  加载星型的和经过雪花处理的维度表数据。
  产生日期维度。
  加载退化维度。
  加载子维度。
  加载1、2、3型的缓慢变化维度。
  处理迟到的维度和迟到的事实。
  加载多值维度。
  加载有复杂层级结构的维度。
  加载文本事实到维度表。
  处理事实表的代理键。
  加载三个基本类型的事实表数据。
  加载和更新聚集。
  将处理好的数据加载到数据仓库。
  从这个任务列表中可以看出,ETL的过程和数据仓库建模的过程结合的非常紧密。换句话说,ETL系统的设计应该和目标表的设计同时开始。通常来说,数据仓库架构师和ETL系统设计师是同一个人。

  在数据准备区中允许使用的数据结构有哪些?各有什么优缺点?
  1、固定格式的文本文件。(Flat File)
  Flat File指的是一种保存在系统上的一种文本文件格式,它以类似数据库的表的方式用行和列来保存数据。这种文件格式经常用来进行数据交换。用于保存数据不太合适。
  2、XML数据集。
  多用于数据交换,用户保存数据不太合适。
  3、关系数据库的表。
  保存数据的较理想选择。
  4、独立的数据库表。
  独立的数据库表一般指建立的表和其他表没有外键约束关系。这样的表多用于数据处理。
  5、三范式或者关系型模型。
  6、非关系型数据源。
  非关系型数据源一般包括COBOL copy books、VSAM文件、Flat文件、Spreadsheets等。
  7、维度模型。
  8、原子事实表和聚集事实表。
  9、代理键查找表。

  简述ETL过程中哪个步骤应该出于安全的考虑将数据写到磁盘上?
  Staging的意思就是将数据写到磁盘上。出于安全及ETL能方便重新开始,在数据准备区(Staging Area)中的每个步骤中都应该将数据写到磁盘上,即生成文本文件或者将建立关系表保存数据,而不应该以数据不落地方式直接进行ETL。
  例如,在数据抽取阶段,我们需要连接到源系统,为了对源系统的影响尽量小,我们需要将抽取的数据保存成文本文件或者放入数据准备区的表中,这样,当ETL过程出现错误而失败时,我们就可以从这些文本文件开始ETL,而不需要再次影响源系统。
抽取

  简述异构数据源中的数据抽取技术。
  在数据仓库项目中,需要抽取的数据经常来自不同的数据源,它们的逻辑结构和物理结构都可能不同,即称之为异构数据源。
  在对异构数据源进行整合抽取时,我们需要做的事情依次是标识出所有的源系统,对源系统进行概况分析,定义数据匹配逻辑,建立筛选规则,生成一致性维度。
  对于源数据的操作系统平台和数据平台各不相同的情况,我们需要根据实际情况来确定如何进行数据抽取,通常的方法有建立ODBC连接、定义接口文件、建立DBLINK等方法。

  从ERP源系统中抽取数据最好的方法是什么?
  ERP系统的产生是为了解决企业内异构数据的整合。这个问题也是数据仓库系统面临的主要问题。ERP的解决方案是将企业内的各个应用(包括销售、会计、人力资源、库存和产品等)建立在相同的平台和相同的应用框架下,即在应用操作层将企业内的数据进行了一致性处理。而数据仓库是在应用操作层之上建立一致性的规则并进行一致性处理。目前比较流行的ERP系统有SAP、PeopleSoft、Oracle、Baan和J.D.EDwards(大部分没接触过)。
  如果企业内只有一套ERP系统,那么数据就已经是一致的了,为数据抽取提供了方便。如果企业内除了ERP外还有其他系统,则数据抽取会变得复杂。因为目前的ERP系统的数据模型都非常复杂,可能有几百几千个表,并且较难理解。直接在ERP系统上建立数据捕获和抽取是非常复杂的。最好的办法是购买能针对ERP系统数据抽取提供功能的ETL工具,将ERP内部的复杂性留给ETL厂商处理。

  简述直接连接数据库和使用ODBC连接数据库进行通讯的优缺点。
  通常连接数据库的方式分为两类,一类是直接连接,另一类是通过ODBC连接。
直接连接的方式主要是通过COBOL、PL/SQL、Transact-SQL等方式连接数据库。这种方式的优点是运行性能高,可以使用DBMS提供的一些特殊功能。缺点是通用性差。
  ODBC是为windows应用程序访问数据库提供的一组接口。ODBC的优点是灵活性,通过改变驱动和连接方式可以使用不同的数据库。ODBC方式的缺点是性能差。使用ODBC连接方式实现ETL的话,在ETL程序和至少要有两层,分别是ODBC Manager层和ODBC Driver层。另外,使用ODBC方式不能使用DBMS提供的一些特殊的功能。

  简述出三种变化数据捕获技术及其优缺点。
  变化数据捕获(CDC)技术是ETL工作中的重点和难点,通常需要在增量抽取时完成。实现变化数据捕获时最理想的是找到源系统的DBA。如果不能找到,就需要ETL项目组自己进行检测数据的变化。下面是一些常用的技术。
  1、采用审计列
  审计列指表中如“添加日期”、“修改日期”、“修改人”等信息的字段。应用程序在对该表的数据进行操作时,同时更新这些字段,或者建立触发器来更新这些字段。采用这种方式进行变化数据捕获的优点是方便,容易实现。缺点是如果操作型系统没有相应的审计字段,需要改变已有的操作型系统的数据结构,以保证获取过程涉及的每张表都有审计字段。
  2、数据库日志
  DBMS日志获取是一种通过DBMS提供的日志系统来获得变化的数据。它的优点是对数据库或访问数据库的操作系统的影响最小。缺点是要求DBMS支持,并且对日志记录的格式非常了解。
  3、全表扫描
  全表扫描或者全表导出文件后进行扫描对比也可以进行变化数据捕获,尤其是捕获删除的数据时。这种方法的优点是,思路清晰,适应面广,缺点是效率比较差。

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

请登录后发表评论 登录
全部评论

注册时间:2015-05-25

  • 博文量
    42
  • 访问量
    90728