ETL部分建议书(含产品详细功能性能)

项目背景

项目需求分析

此部分内容包含项目功能要求,性能要求,扩展性要求,可管理性要求等。

解决方案

 数据管理策略

建议将产品和服务与XXXXXXXXX系统的数据转换、协调与集成方法一同部署,以实现以下在部署速度、执行精度和迁移过程风险控制方面的优点:

  • 加快成功完成实现项目所需所有必要步骤的时间,特别是数据剖析和分析阶段、数据质量确定问题、转换定义和数据清理规则、迁移过程流规范、迁移过程的构造、将数据加载到数据中心和所需的数据准备,以及与现有系统之间的延续数据接口的设计和构造。
  • 确保迁移数据的质量高度可信,特别要知道必须使用公共方法学完成为每个源系统以及跨多个源系统定义的数据评估、验证和清理过程,从而在规范提交结果中保持一致的质量。
  • 提供一个单一、集成的开发平台,由整个扩展和核心 IT 团队来构造和执行数据抽取、数据转换与清洗、数据加载准备过程,使整个迁移过程一致且易于维护。
  • 捕捉整个迁移过程的定义信息和实际迁移统计信息,提供一份历史日志,以作报告、审记和调整之用。

 

详细方案

企业数据管理的方法论

许多企业在实施企业数据管理时经常失败或超过预算,这些实现的失败或预算超支源自从维持唯一数据模型、数据定义和业务规则的多个数据源进行数据采集、合并、集成和协调时采用人工的、劳动密集型方法的复杂性。

IBM  数据集成解决方案很好地转移了这些风险,它提供了一种端到端基础结构,支持在项目生命周期的早期捕获数据质量问题,为系统数据集成提供了一种自动方法,为抽取、转换和将数据加载到目标环境提供了一种可伸缩的平台,可同时适用于基于批量和实时事务的接口。通过在项目早期确定和记录唯一的数据定义、数据质量问题和业务规则,实施施团队将能够更精确地设计和配置目标应用,为数据合并与集成提供更精确的清理和数据迁移规范。经过验证的组件就可以重用来构建一致的和可重用的接口组件。这将极大地降低项目开发的资源工作、测试和与未知数据质量问题有关的返工。

IBM 以从成百上千个项目的经验中总结出的经过检验的方法学为基础,以集成的技术为依托。方法学包括 5 个支柱,每个支柱均有各自的提供结果和一个支持工具集。方法学的下面是一个强壮的元数据管理工具,该工具为所有支柱中的活动提供支持。在支持工具集的支持下,方法学可有效地用于转换和接口工作。

 

 
   

 

 

理解解数据

IBM 信息服务器可帮您自动发现、定义并构建信息内容和结构,了解并分析信息的意义、关系和族谱,自动整理系统中的数据并对数据质量进行审计。数据分析师可使用分析和报告功能,生成集成规范和业务规则,并长期监控规范和规则的使用。主题专家可使用基于 Web 的工具来定义、自动化并报告业务数据。

整理信息

IBM 信息服务器可以标准化、验证、匹配并合并数据,从而满足信息质量和一致性要求。产品可验证并进一步丰富通用的数据单元,使用邮寄姓名和地址信息等可信赖的数据,并在一个或多个数据源中间匹配记录,从而帮您跨越多个源系统创建一个全面而准确的信息视图。

将数据转变成信息

IBM 信息服务器可转换并丰富信息,以确保将信息放在适当的上下文中用于新用途。数百个预构建的转换功能可结合、改造并汇聚信息。

转换功能广泛又灵活,可满足各种集成要求,并高速结合并整理异构数据。IBM 信息服务器还能转换并转移海量的复杂数据,适用于单独的提取/转换/装载(ETL)环境,或作为应用或流程的实时数据处理引擎。

提交信息

IBM 信息服务器能够虚拟化并同步信息,或根据需要在人员、流程或应用之间转移信息。产品能够提供联合信息,基于时间和事件来处理信息,在位置之间转移大块的信息,或访问无法合并的信息。

IBM 信息服务器允许从本机直接访问广泛的信息,无论是主机还是分布式信息。产品允许访问数据库、文件、服务和打包应用以及内容库和协作系统。产品还支持跨越数据库实施高速复制、同步和分配,捕获变化的数据,并基于事件发布信息。

  • IBM DataStage

    IBM DataStage 是业界性能最高、伸缩性最强的抽取、转换和加载 (ETL) 解决方案,同时也是唯一具有端到端元数据管理和数据质量保险功能的解决方案。DataStage 支持为企业应用程序如 CRM、ERP、SCM、BI/分析、电子商务和数据中心等的成功实现或迁移创建和管理可伸缩的、复杂的数据集成。

 DataStage 连接到位于多种平台上的数据,如 OS/390、AS/400、Unix、和基于 Intel 的系统(通过 ODBC 或 OLEDB)。到数据库的内部连接与强大的变换、逻辑和工作流相结合,构成数据集成解决方案,由  DataStage 进行端到端管理。元数据,或称“数据的数据”,是通过  MetaStage 在设计和生产时捕获,用以提供有关数据集成过程的完整图景的。

 Connectivity for Enterprise Applications 提供了扩展的变换能力,实现了应用环境之间的完全集成,如 SAP R/3、SAP BW、PeopleSoft、Siebel、J.D. Edwards、Oracle 应用程序和其他企业应用程序等,因此无论应用程序源为何物,都可以在整个企业的任何地点访问公司信息。

价值:

  • 极大地加快开发时间、盈利时间、企业应用程序的 ROI。一个主要优点就是能够跟上新程序需求的能力和针对业务要求变化快速进行调整的能力。
  • 使数据不断增值。
  • 为商业和技术用户提供有关数据的完整了解、历史和上下文环境。
  • 适应无限数据量增长,无需代价不菲的应用程序重写。
  • 利用和延长现有代码和个人投资的价值。DataStage 用户不需要了解底层语言的细节,如SQL。

ETL的设计与实现

IBM DataStage是企业整合系列产品中关键产品。支持大容量数据的收集、整合和转换,数据从简单结构到很复杂的结构。基于高可扩展性的软件架购,使得企业能够通过高性能来解决大部分业务问题,并行处理大容量数据。强大的企业元数据管理能力使得可以在数据整合生命周期中在所有工具中共享和使用工具。

DataStage发布了四个核心功能来成功实施企业数据整合:先进的开发和维护能力,加速开发和简单化维护;完整的开发环境,提供了企业级别的开发、监测和管理能力;高可扩展的体系架构,在吞吐量和性能方面提供了没有限制的扩展能力;端到端元数据管理,提供了整个企业数据的管理和联系数据的一种方法。

 

先进的开发和维护能力

 DataStage提供了全面的功能去最优化用户在建立、升级和管理数据整合架构时的速度、灵活性和效率。 DataStage增强的功能减少了学习的周期、简单化了管理和优化了开发资源的使用,减少了数据整合应用的开发和维护周期。结果, DataStage使得企业能够花更少的时间开发他们的整合应用,更多的时间是不断的从中受益。

 DataStage是一种Client-server体系架构,如下所示。

图一、 DataStageClient-Server架构

 

`用户通过各个客户端工具访问 DataStage的开发、配置和维护功能。这些工具包括:

Designer:用来建立和编辑 DataStage作业和表的定义。Designer中的“Job Sequencer”控制作业的执行,其他作业成功完成(或失败,等)的条件。

 

Administrator:用来执行管理任务,如建立 DataStage用户、建立和删除工程并且建立清洗标准。

 

Manager:用来编辑管理用户工程的 DataStage资料库。            

 

Director:用来验证、时序安排、运行和监测作业。

 

如图一所示, DataSage的服务器组件运行在一系列的流行服务器上,如Unix、Windows等。

 

完整的开发环境

用户使用 DataStage的Designer组件建立数据整合应用。设计是基于数据流的概念。数据流使得用户非常容易建立和理解应用。用户在一个强大的图形化调色板上通过一系列的功能组件(Stage)标示数据集合的流程来构建一个数据整合应用。一个完整的数据流图( DataStage作业),从一个永久存储的数据源开始,并且执行一系列的增值转换和其他处理操作,最后加载数据到一个永久的存储。但是,Designer开始使用户可以灵活从任何地方可以建立作业:从上到下、从下到上、从中间开始。一个完整的数据流图如图二所示。

 

图二、 DataStage数据流图示

 

在建立一个数据流图表时,通过一系列的处理步骤对庞大的数据集合构架顺序流。用户不需要担心如何在多处理器计算机上运行该应用。

 

对数据整合应用工作流的顺序描述和在生产环境中应用的并行执行做了一个清晰的区分。

 

处理数据集。数据集就是对通过数据流程的记录的收集。一个数据集可以是屋里放置在磁盘上,也可以是虚拟放置在内存中。数据在数据流中的Stage中移动使用的是虚拟的数据集,这样可以大大提高性能;分区(在后面介绍)是在Stage的属性中设置的。

 

提供了内嵌的Stage来执行通用的数据整合任务,如Sort、Merge、Join、Filter、Transform和Aggregate。更完整的内嵌Stage列表参考本文档的Appendix A。每个Stage是一个完整的功能组件,已经在多处理器系统中高吞吐量和高性能并行执行过。这些Stage摒弃了传统的编写代码方式。用户可以在Designer GUI中找到这些内嵌的Stage。用户可以使用Stage的下拉菜单来这只Stage的参数。Aggregator Stage的编辑器如下所示。

 

图三、编辑Aggregator Stage图标和Stage编辑器例子

 

Transformer Stage是一个强大和灵活的组件,允许用户对input link输入的数据进行转换。并且将数据传到另一个活动的Stage或者将数据写到目标数据或文件。Transformer编辑器(如下所示)使得用户可以在input links和output link间简单建立mapping,并且可以使用BASIC等语言建立任意转换。这些转换可以并行执行来提高吞吐量和性能。提供了超过100个内嵌的功能,另外可以用C或C++ 编写的routine在转换中使用和进行互操作。

 

图四、Transformer Stage图标和Stage编辑器例子

 

 DataStage内嵌的Stage包括高性能访问(加载和读)关系型数据库的强大组件,包括并行的关系型数据库。例如,的DB2 Stage提供了一个访问DB2表的高性能并行接口。

 

DB2 Stage支持的写方法包括Load和Upsert (Update and Insert) 和读方法的表查询。也可以利用DB2强大的数据库分区特性。

 

的内嵌扩展Stage提供了数据整合应用中80%到90%的最常用的逻辑需要。另外,提供了许多机制用来建立自定义的Stage:

 

  • Wrapped--允许并行执行一个顺序程序。
  • Build――允许自动并行执行自定义Stage的C语言表达式。
  • Custom 提供了完整的C++API,来开发复杂和扩展的Stage。

 

基于组件架构和扩展内嵌组件类库的 DataStage消除了对传统编码方式的需要,最大化了组件的重复使用。开发和扩展架构使得和第三方软件和以存在的程序的整合到扩展数据整合应用变得非常容易。

 

Stage和作业的单独分区,包括每一个Stage的联合分区、元数据(表定义)和Transformer转换定义,可以在共享容器中被其他用户重复使用。共享容器允许用户提高产品性和在用户和工程间共享。

 

产品性比作业模板更进一步。用户比使用定义的模板更快开始。标准化提供给一个相同的开始点。

 

智能助手可以使得建立复杂作业更简单。智能助手象Wizard一样通过一系列的问题,并且输出一个 DataStage作业或作业序列。但是,他们使用元数据智能预先设计问题,最终引导用户和得到最后的输出。

 

企业级开发和管理、作业调度

许多大的公司都有在复杂生产环境下的配置、时间序列、监测和管理应用的标准。WebSpere DataStage提供了灵活功能来迎合这些需要。

 

首先, DataStage提供了一个图形化的作业顺序器,允许用户定义作业执行的序列。设计一个作业序列就象设计一个作业。用户在DataStage中设计作业序列。从工具条增加一个Activities(相对于Stage),并且通过Trigger进行连接用以定义控制流。每个Activity都有属性,可以在Trigger表达式中测试并且传到序列前面的其他的Activity中。Activity也可以有参数,可以用来支持job参数或routine参数。Job序列可以有自己的属性和参数,这些属性和参数可以顺序传到activity中。序列也可以包括控制信息,例如,序列中job的成功或失败影响活动的走向。一旦job序列被定义完成,可以在任何提供的接口(下面做详细的介绍)中建立时间顺序和执行。

 

图五、 DataStage Job序列例子

 

其次,提供了Director和Manager的图形化功能。象前面说过的,Manager是用来管理工程的,包括导入和导出组件,用来将应用配置到产品。Director用来建立时序,执行和监测job(或job序列)。

 

另外,提供了command-line、API和Web Services用来对应用进行配置、执行、监测和管理。Job能够使用所有的工具进行开始、停止和监测。可以提供所有的工具查看Job监测的详细内容-包括Director。

 

返回的信息包括每个并行分区的记录条数、CPU使用率、开始/结束时间等。所有的这些都是在单独的stage级别。这个命令行接口是:

 

dsjob –report <project> <job> [<report type>]

report type = BASIC,DETAIL,XML

 

XML计划已经被发布并且通过XML可以对正在运行的job进行不同角度的查看。

 

就算job已经完成,这些信息仍然是可用的。这就是operational meta data。Command line和web service接口通过文本或XML方式返回出这些operational meta data。

 

对于国际数据的需要,DataStage可以处理和管理multi-byte的数据结构。客户端相应(如属性设置和表定义)可以使用用户本地的语言。用户可以根据国际校正规则建立客户化的排序规则。

 

高可扩展的体系架构

建立在高扩展软件架构上的提供了高级别的吞吐量和性能。

象前面所描述的,用户可以使用的Designer工具建立简单的顺序数据流图表。当构架出顺序的数据流图表,用户不用担心底层的硬件架构和处理器的数量。一个专门的配置文件可以定义这些底层多处理器计算环境中的资源(处理器、内存、磁盘)。这个配置可以在顺序数据流图表和应用的并行执行之间建立一个清晰的分离。这样就可以很简单开发扩展的数据整合系统并且并行执行(如图六所示)。

 DataStage可在管道并行和分区并行的机制下执行,这样可以获得高吞吐量和性能:

 

  • 数据管道

意味着应用可以从源系统拉入数据并且在数据流图表中定义的顺序处理功能间移动。记录通过管道进行流动-使用上面介绍过的数据集【虚拟】-这样使得记录通过一系列的功能组件进行流动而不需要将记录加载到磁盘。

  • 数据分区

是一种将记录集分割到各个分区,或记录子集的并行方法。数据分区通常提供了一种好的、可以线性增长的应用性能。支持记录集通过应用流的自动分区,象DB2一样使用hash、range、entire、random、round robin等方法。

  • 硬件配置文件

告诉DataStage如何与硬件打交道,允许最大地利用CPU,硬盘容量,和内存。当添加了新的硬件,不需要重新开发工作,只需相应修改硬件配置文件即可

  • 并行数据集

具有在硬盘上以分片的方式存储数据的能力,因而确保数据的再使用,以减少I/O到最小,替代平文件读和写,以平行的读和写的方式,提高性能

  • 不落地的再分片

扩展性的最大障碍是I/O,一些其他产品在写到硬盘之前不具备再分片的功能

  • 支持MPP&GRID的环境

 DataStage支持跨多个服务器配置的MPP或Grid的运行方式

  • 并行处理吞吐

因为 DataStage是并行处理方式,每一步处理能够并行的执行,以确保没有序列处理

不需要依赖数据库本身的并行机制,ETL自身应带有此功能,以减轻数据库的负载

另一方面,ETL工具过多依赖数据库的能力,将影响数据库的性能表现,如数据库能替ETL工具完成很多功能,就不需使用ETL工具

这个benchmark是在写数据(每条记录平均534 byte、50多个字段)之前进行了15此的不同的转换。图8以1:1的比例显示出处理器导致近乎线性的性能扩展。IBM可以提供更近一步,验证过的性能报告。

元数据的管理与应用

元数据是数据整合基础架构的黏合剂,是维护一致性、解释清晰和正确的关键。DataStage的端对端元数据在数据整合生命周期中可供所有的工具中共享,确保有关元数据可以勾画出一个清晰、明确的业务视图。DataStage元数据管理通过提供一致、正确的元数据来帮助用户管理数据中有用的部分。这样就可以减少在多工具中共享元数据时候存储和更新元数据目录的负担。通过DataStage企业版的元数据分析和管理功能确保整个商务智能架构中整合和业务规则的重复使用变得简单,而不需要传统编码方式。

访问元数据服务

DataStage访问 Metadata Server,以实时访问有关整合项目和您组织的企业数据的当前元数据。您可以使用 Designer 客户端,访问由MetaBridge 或Information Analyzer 生成的数据。以下服务为设计人员提供对元数据的访问:

简单和先进的查找服务允许您搜索知识库查找对象

使用/影响分析服务说明“Usage“和”Depend on“关系

结果可以存为html 或者 xml 文件,进行附加处理或者远程客户查看, 结果列表可以进行export、报告或者编辑功能

差异分析

显示DataStage 环境中作业或表定义间的差异。下图显示了在 Designer 客户端中的一个带相关编辑器链接的文本报表。您还可以查阅作业子集(如共享的容器和例行程序)的差异。可以选择将此报表保存为一个 XML 文件。

 

文章转载于互联网

联系我们

地  址:北京朝阳区西坝河西里28号 国展国际英特 C座4单元108室
电  话:400 6090 633 / 8285 7738
Email:3uni@3-uni.com/hr@3-uni.com

© 2016 思锐联科技有限公司   京ICP备13022022号