已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle Data Integrator 技术白皮书1介绍22E-LT 体系结构32.1传统的ETL32.2E-LT43声明设计(DECLARATIVE DESIGN)63.1传统的ETL设计63.2声明设计(Declarative Design)64知识模块(KNOWLEDGE MODULES)94.1知识模块的类型94.2设计阶段和运行阶段的知识模块94.3灵活性和可扩展性105面向事件的集成115.1面向消息的集成115.2变化数据捕获115.3发布和订阅模型125.4处理变化数据集的一致性126支持SOA框架146.1数据和转换服务146.2Web Services 访问157数据完整性167.1为数据完整性声明规则167.2在集成过程中的数据完整性防火墙177.3强制规则177.4使用第三方姓名及地址清洗工具188体系结构198.1用户界面198.2代理208.3存储库208.4元数据导航器/轻量级设计器219方案(SCENARIOS)229.1数据仓库和商业智能229.2面向服务的集成239.3主数据管理2410结论251 介绍整合整个企业的数据和应用,并将它们在一个统一的视图中进行展现是一个复杂的任务。大量的不一致性不仅仅体现在技术、数据结构和应用功能上,而且在整体的体系结构上也存在着基本的差距。有一些集成需求是面向数据的,尤其是那些对大数据量的需求。还有一些其它的集成项目是基于事件驱动的体系架构(EDA)或者面向服务的体系架构(SOA),如异步或同步的集成。许多组织针对这些多样化需求采用了广阔的工具和技术,结果就会造成杂乱的集成项目而无法将它们进行综合利用和统一起来。这些工具不符合整体的性能、灵活性和模块化的需求。Oracle Data Integrator提供了一个集成平台包括的所有数据集成的功能:基于数据的、基于事件的和基于服务的。通过高效地转换大数据量的能力、用先进的变化数据捕获(CDC)在实时环境中处理事件,以及提供数据服务给Oracle SOA套件,Oracle Data Integrator统一了各种孤立的集成技术。它还提供了强大的数据完整性控制能力,确保数据的一致性和正确性。采用不同于传统工具的独特核心特性异构E-LT、声明设计和知识模块等Oracle Data Integrator符合高性能、灵活性、高生产率、模块化和热插拔的集成平台的需求。2 E-LT 体系结构2.1 传统的ETL传统的ETL工具的运行方式是,首先从多种数据源抽取数据,然后在一个专有的、中间层的ETL引擎转换数据,最后装载转换后的数据到数据仓库或集成服务器中。因此“ETL”不仅仅是个名称还表现了操作的顺序。迄今为止,ETL过程的数据转换是计算密集型最大的步骤,并且执行的整个过程完全是由专有ETL引擎在专用服务器上完成的。ETL引擎执行数据转换(有些时候还要进行数据质量检查)是基于行级进行的,因此,在整个过程中很容易变成瓶颈。另外,数据一定要在网络移动两次,一次是数据源和ETL服务器之间,一次是ETL服务器和目标数据仓库之间。因此,如果用户想要确保参照完整性,例如通过从数据仓库比较数据发现违反参照完整性的值,那被参照的数据一定要从目标下载到ETL服务器,这样就更增加了网络负载及下载时间并导致额外的性能问题。例如,让我们看一下传统的ETL任务如何从目标数据仓库寻找记录去匹配数据源的数据。为了执行这样一个任务,一个传统的ETL工具可能会使用下列三个方法之一: 装载Look-up表到内存:整个look-up表被从目标服务器上检索并被装载到ETL引擎的内存中。在作为结果的被转换的数据写回目标服务器之前,用源数据记录匹配(或连接)这个look-up数据是在内存中完成的。如果look-up表是相当大的,那么这个操作将需要在ETL引擎中耗费大量的内存和长时间的数据装载,以及重建索引。 即时执行,逐行查找:对于每一行,ETL引擎都要送一个查询到位于目标服务器上的look-up表。查询的结果将返回一行已匹配(或已连接)当前行的记录。如果look-up表包含50万行记录,ETL引擎将送50万个查询。这种处理方式将极大地减慢数据集成的进度并给目标服务器带来严重的负载。 在ETL任务中使用手工编码:这种方式使用ETL引擎仅仅是为了装载数据源到目标数据库,然后手工编写SQL代码将这些数据与look-up表进行连接。这就产生了一个问题:为什么购买了一个ETL工具还要在目标服务器手工编码?这样的话对于用户就丧失了元数据管理的优势和开发的生产率。不幸的是,这就是用户一旦注意到在集成的过程中10倍的性能降低而采用的方式(相比较于采用手工编码完成同样的操作)。2.2 E-LTE-LT体系结构结合了手工编码和ETL方法的最佳特性于一个解决方案中。E-LT方法改变了数据转换发生在哪里和怎样处理,它充分利用了开发者的已有技能、数据库引擎和服务器硬件去达到最大程度的可能性。事实上,E-LT方法重新部署数据转换步骤在目标数据库系统,改变了操作顺序为:从数据源表抽取数据,装载表到目标服务器,然后使用数据库管理系统特有的SQL(native SQL)操作在数据库系统上转换数据ETL与ELT方法E-LT体系结构充分利用了数据库管理系统的能力和吞吐量,而仅仅受限于其部署的服务器的特性。因为不需要额外的服务器、技术和技能来完成操作,E-LT体系结构提供最优的性能和可伸缩性,并且容易管理整个集成系统的基础架构。让我们同样以上面的例子看看将发生什么影响: 不需要过多的移动数据从数据源和目标服务器到ETL服务器。相关的数据将被移到目标服务器,并且查找操作也在同样的目标服务器上直接进行。这种方法降低了网络负载而仅仅需要必要的数据。 处理不是逐行进行的,而是使用目标服务器的连接能力采用单一查询。这样的操作将使用数据库服务器引擎的处理能力提供最好的性能。 因此,其性能至少相当于手工编码的效率(虽然我们并不需要手工编码),除了提供一个数据集成平台之外,仍然具有元数据管理功能和高生产力。因为不需要分离的ETL引擎和专门的ETL服务器硬件,初始的硬件和软件资金成本将大为降低,同样也会降低持续的软硬件维护成本。因为E-LT体系结构使用现有的数据库管理系统执行ETL任务,其整体成本也将大幅降低,相同的服务器存放需要集成的全部数据。3 声明设计(DECLARATIVE DESIGN)3.1 传统的ETL设计采用传统的ETL系统设计一个集成的过程,开发者需要设计过程的每个步骤。例如,我们假设一个很普通的例子,销售指标来自于过去时间以来的、不同客户年龄段的汇总。销售数据来自于一个销售管理数据库系统,而年龄段数据被描述在一个分发的文件中。为了结合这些数据源,并且在客户统计系统中插入和更新适当的记录,你一定要设计每个步骤,这包括:1. 在引擎中装载客户销售数据2. 在引擎中装载年龄分发文件3. 在客户销售数据和年龄分发文件中执行查询4. 按照年龄段分组聚合客户销售5. 装载目标销售统计信息数据到引擎6. 通过与客户统计系统比较聚合信息决定什么需要被插入或更新7. 插入新的记录到目标系统8. 更新存在的记录到目标系统依赖需要被设计的步骤,这种方法需要特殊的技能。它还需要相当的开发量,即使有重复的任务,例如管理插入/更新目标系统,也需要在每个任务中被开发。最后,这种方法在维护阶段也需要大量的工作量。改变这个过程需要清晰地理解这个过程做什么和它是怎么做的。采用传统的ETL设计方法,集成的逻辑和技术层面是纠缠在一起的。3.2 声明设计(Declarative Design)采用声明设计(Declarative Design),你只需要设计过程做什么,而不需要你描述它怎样做。在我们上面提到的例子中,过程做什么就是指: 关联销售应用的客户年龄到分发文件的年龄段。 通过年龄段聚合客户的销售去装载销售统计信息。这些步骤怎样做呢,这是由底层的技术特性或技术策略去执行这个集成任务例如建立临时数据结构,称为装载器(loaders)能够清晰的与声明规则分离。传统的ETL设计和声明设计在一个数据集成任务中,Oracle Data Integrator的声明设计是在称为“接口(interface)”的里面使用关系图(relational paradigm)的形式去声明这些规则的。在我们例子中,数据源就是销售表和年龄表单,目标就是客户统计系统。转换就是销售表和年龄表单之间的连接,以及每个年龄段的销售聚合。用Oracle Data Integrator设计数据流程采用声明设计,你只需要把重点放在真正需要关心的地方,那就是你的集成任务的规则。而不是集成过程的底层技术方面。技术方面将在知识模块(Knowledge Modules)中描述。4 知识模块(KNOWLEDGE MODULES)4.1 知识模块的类型Oracle Data Integrator的知识模块是用来实现集成过程是怎样发生的。每个知识模块的类型表明了一个特定的集成任务: 执行反向工程检索异构系统的元数据到Oracle Data Integrator 在一个现有的系统上支持变化数据捕获(CDC) 使用系统最优化的方法从一个系统装载数据到另一个系统 采用特定的策略(插入/更新,缓慢变化维等)在目标系统上集成数据 在数据流中控制数据完整性 以服务的方式呈现数据这些知识模块覆盖了相当广范围的技术和方法。4.2 设计阶段和运行阶段的知识模块知识模块是给定集成任务的一个代码模板。这个代码是独立于接口的,接口是将要处理的数据源、目标和转换的定义。在设计的时候,开发人员建立描述集成过程的元数据。这个元数据与知识模块结合生成代码,以便为运行阶段做好准备。在运行阶段,Oracle Data Integrator送这个代码在数据源和目标系统中去执行。4.3 灵活性和可扩展性在给定系统情况下,通过为特别的任务使用户能够采用最适当的或灵敏调整的解决方案,知识模块提供了额外的灵活性。例如,从一个数据库系统传输数据到另外一个数据库系统,开发人员能够依赖于不同情况使用不同的方法: 数据库系统的专有装载技术(如Oracle SQL*Loader, Microsoft SQL Server BCP, Teradata TPump)能够从数据源引擎卸载数据到文件,然后装载文件到目标引擎。 数据库链接特性(如Oracle Database Links, Microsoft SQL Server Linked Servers)能够在服务器之间直接地传输数据。这些技术策略被相应的知识模块所使用去利用给定平台特有的技术能力。知识模块也是完全可扩展的。这些代码是开放的,并且技术专家能够通过图形化用户界面编辑它们去实现新的集成方法或最佳实践(例如,解决性能或者遵守规则和企业标准)。而对于开发者而言,不需要具有技术专家的技能,也能够在集成过程中使用这些定制的知识模块Oracle Data Integrator为市场上主流数据库引擎和应用系统提供了超过100种知识模块。5 面向事件的集成5.1 面向消息的集成在一个实时环境中的集成应用里,从消息中间件或企业服务总线,例如Oracle ESB,捕获事件已经变成一种非常通用的任务。应用和业务处理为用户生成消息,或者从消息系统中接受它。Oracle Data Integrator包括了支持基于消息的集成并遵循JMS标准。例如,在Oracle Data Integrator里的一个转换任务能够从任何消息队列和主题来订阅和发起消息。消息能够被实时地捕获和传输,然后写到目标系统。JMS模型支持交易处理以确保从原始中间件到目标系统的数据完整性和消息的交付。这种集成类型的其它例子还有在数据库级别捕获改变并发布到消息系统。Oracle Data Integrator的变化数据捕获(CDC)能力,详情将在下面的章节描述,能够与基于JMS的集成结合,为设计集成任务实现最高的灵活性,并混合异构的技术。例如,使用CDC能够在数据库级检测到新到的订单。这些新的订单在被部署到相应的消息队列或主题前,能够被Oracle Data Integrator处理和转换。其它的应用,如Oracle BPEL 或 Oracle Business Activity Monitoring,能够订阅到这些消息,并且新到的事件将触发相应的处理。5.2 变化数据捕获传统的数据集成方式包括从数据源抽取所有的数据,然后集成整个数据集可能是增量的在目标系统。当集成过程需要面向事件的集成时这种方式可能导致低效率。一个典型的例子就是从一个CRM系统传播新的或修改过的合同文件到另一个应用系统。在这种情况下,总量的数据包括所有的合同使得在给定时间期限内进行数据集成是不可能。我们自己设计的解决方案是按照时间戳字段或变更标志过滤纪录,这种做法的可能性是存在的,但是真正的环境比较复杂,可能在应用中需要进行修正,因此通常不能充分地确保所有的改变能够适当地反映到结果中。Oracle Data Integrator的变化数据捕获功能能够识别和捕获数据源中的插入、更新或删除的数据,并使它们能够用于集成过程。变化数据捕获功能可以是面向消息集成的选择之一,它还可以与特定的需求相结合以最小化客户的开发量。5.3 发布和订阅模型变化数据捕获使用一个发布和订阅模型。一个被识别的订阅者通常是一个集成过程订阅那些发生在数据存储的变更。在数据存储中的变化能够被CDC架构捕获并发布给订阅者,并且是在任何时间获得被跟踪的变更,进而处理这些事件。跟踪变化的框架Oracle Data Integrator提供两种方法从源数据存储到CDC框架:触发器和提取数据库管理系统日志。第一种方法能够部署在绝大多数关系数据库系统上实现数据库触发器。这种方法对于尽量减小源系统的开销来说是最优的选择。例如,触发器类型的变化数据捕获不会产生重复捕捉,能够尽量减少输入/输出操作,但会减慢源系统的性能。第二种方法是提取数据库系统的日志数据库引擎的内部变化历史。这种方法对于系统的交易处理性能稍微有些影响,像ORACLE(通过Log Miner功能)和IBM DB2/400支持这样的能力。使用CDC框架管理变化是很常用的,也是开放的,所以其变化的跟踪方法可以被客户化。任何第三方的提供商都能够使用这个框架。5.4 处理变化数据集的一致性有时候,我们需要在同一时间跟踪几个数据源频繁地变化。例如,当一个order被建立、更新或删除时,order表和order lines表被影响。当处理一个新order line时,与这些order line相关的新的order,也要被考虑,这是很重要的。Oracle Data Integrator提供一种称为“数据集一致性的CDC”模型。这个模型允许处理变化的数据集并保证数据的一致性。6 支持SOA框架通过三个关键的服务访问能力,Oracle Data Integrator能够集成到Oracle SOA套件:数据服务、转换服务和Web Service访问。6.1 数据和转换服务数据服务是提供了访问存储在数据库表中数据的特殊的Web services。数据服务与数据变化捕捉功能相结合,还能够为给定的订阅者提供访问变化纪录的能力。数据服务是被Oracle Data Integrator自动生成的,并且作为Web services部署到Web容器中通常它是一个Java应用服务器。Oracle Data Integrator还能够包装它的转换过程作为Web services集成为服务,使得应用去使用它。例如,用来更新CRM应用系统的LOAD_SALES批处理过程能够作为一个Web services被任何服务应用所触发,就像Oracle BPEL、Oracle Enterprise Service Bus或Oracle Business Activity Monitoring。因此,使用Oracle Data Integrator开发的转换能够广泛地参与到面向服务的体系架构中。生成和部署数据服务6.2 Web Services 访问第三方的Web services能够作为一个Oracle Data Integrator工作流的一部分被调用,也可以用作数据集成过程的一部分。请求被即时生成并且通过规则的转换进行相应处理。假设你的公司订阅了一个第三方的服务,需要每天的汇率变化作为Web service。如果你需要这个数据去更新你的多币种数据仓库,Oracle Data Integrator自动地使得这个任务的开销最小化。你只需要简单地从你的数据库工作流中调用Web service,并对新获得的数据执行相应的转换以适合特定的格式。在工作流中使用Web Service7 数据完整性数据完整性是数据质量中的关键一环,它包括能够自动地确保企业信息资产质量的过程。7.1 为数据完整性声明规则Oracle Data Integrator采用在它的集中元数据存储库中声明数据完整性规则定义的方式。这些规则被应用到应用数据中去确保企业信息的完整性和一致性。数据一致性的好处在整个数据质量的开始阶段就加入进来并且容易与现有的和将来的业务过程集成去满足特定的需求。通过反向工程,Oracle Data Integrator自动地检索定义在数据级别的现有规则(例如数据库的约束)。Oracle Data Integrator还允许开发者定义其它的、用户定义的声明规则可能是通过Oracle Data Integrator的数据特征探索能力推断出来的并且立即进行检查。在设计器里定义新的完整性规则并立即检查为数据完整性所声明的规则包括唯一性规则,行级强制一致性的验证规则,和简单的或复杂的、可能还包含异构技术的参照引用规则。7.2 在集成过程中的数据完整性防火墙在一个集成过程中的组件包括数据源系统,集成和转换数据的过程,和目标系统。使用Oracle Data Integrator,数据完整性是由所有这些子系统来管理的,从而建立一个在集成过程中的任何一点上都能被激活的防火墙。集成过程中的数据完整性7.3 强制规则Oracle Data Integrator的可定制的检查知识模块(Check Knowledge Modules)帮助开发者基于已经定义在存储库中的完整性规则自动地生成他们系统的数据完整性审计。审计提供系统数据的质量统计信息。通过声明规则还能孤立被检测的错误数据。当错误数据被识别并被孤立到错误表以后,Oracle Data Integrator设计器或任何第三方前端应用都能访问它们。基于数据完整性功能可以扩展到更广阔的信息使得详细的分析成为可能,按照IT策略记录错误的数据,并且总结出最佳实践以改进整个数据质量。在设计器里查看错误数据7.4 使用第三方姓名及地址清洗工具Oracle Data Integrator开放的体系结构能够无缝地与第三方数据质量产品集成,例如使用Trillium TS Quality执行复杂的数据质量和清洗操作。8 体系结构Oracle Data Integrator是围绕着标准化组件的存储库构建的。所有运行和设计阶段组件都是基于JAVA的,它们存储信息在元数据存储库中。这种体系结构的组件能够被安装和运行在任何平台上。Oracle Data Integrator详细体系架构用户界面Oracle Data Integrator的四个图形化用户模块分别是: 设计器(Designer):在这个工具中,用户能够为数据转换和数据完整性定义声明规则。数据库和应用系统的元数据能够被导入或定义。设计器使用元数据和规则为实际的生产环境生成方案(scenarios)。所有项目的开发都是通过这个界面完成的,并且它还是在设计阶段开发人员和元数据管理员的主要用户工具。 操作器(Operator):在这个工具中,用户在生产环境管理和监控Oracle Data Integrator的任务。它是为了生产环境的操作者设计的,能够显示执行日志,包括错误数、被处理的行数、执行的统计信息和被执行的实际代码等等。在设计阶段,开发人员也能够使用操作器进行调试。这是运行阶段的主要用户工具。 拓扑管理器(Topology Manager):在这个工具中,用户定义基础架构的物理和逻辑体系结构。通过这个工具,服务器、方案(schema)和代理被注册在Oracle Data Integrator主存储库中。它主要被项目或系统的管理员使用。 安全管理器(Security Manager):在这个工具中,管理员能够管理用户的账户和权限。它给Oracle Data Integrator对象和功能分配属性信息和用户权限。它主要被安全管理员使用。8.2 代理在运行阶段,由运行时组件代理来组织方案的执行。执行可以从某个用户工具发起,也可以由内置的或者第三方调度工具触发。由于Oracle Data Integrator采用了E-LT体系结构,代理极少自己执行转换。通常,它只是从执行存储库检索代码,并请求数据库服务器、操作系统或脚本引擎执行代码。当执行完成后,代理所更新的执行日志能够被操作器工具或者web工具:Metadata Navigator所查看。理解这一点是很重要的,尽管它能够作为转换引擎但它极少使用这种方法。代理通常被安装在企业信息框架中非关键的地方去组织集成过程,并利用现有的系统。在整个集成体系架构中代理是多线程、负载均衡和轻量级的组件。8.3 存储库Oracle Data Integrator存储库由一个主存储库和几个工作存储库组成。这些存储库在任何关系型数据库管理系统上是可插拔的。Oracle Data Integrator模块的所有对象都被配置、开发或使用在这两种类型的存储库中。通常只有一个主存储库,它包含了安全信息(用户信息和权限),拓扑信息(技术和服务器的定义),以及对象的版本信息。工作存储库是项目被存储的地方。几个工作存储库可能同时存在于一个单一的Oracle Data Integrator安装上。这种方式对于维护分离的环境或反映一个特定的版本生命周期是非常有用益的,例如把工作存储库分为开发环境、用户确认环境和生产环境。工作存储库存储以下相应的信息: 模型,包括数据存储,字段,数据完整性规则,相互参照引用和数据沿袭 项目,包括接口,包,过程,文件夹,知识模块和变量 运行阶段信息,包括方案,调度信息和日志8.4 元数据导航器/轻量级设计器业务用户,开发人员,操作者和管理者能够使用他们的Web浏览器访问元数据导航器或者轻量级设计器。通过这些Web界面,他们能够看到流程图,跟踪所有数据的来源,甚至下钻到字段级去了解数据的转换。虽然这是Web界面,他们也能够发起和监控方案并编辑数据映射。9 方案(SCENARIOS)Oracle Dat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年现货交易员岗位招聘面试参考题库及参考答案
- 2025年网络营销专家招聘面试题库及参考答案
- 2025年垂直行业销售专员岗位招聘面试参考题库及参考答案
- 2025年公关活动策划专员招聘面试参考题库及答案
- 2025年修理技师岗位招聘面试参考试题及参考答案
- 2025年汽车技术员岗位招聘面试参考题库及参考答案
- 2025年销售顾问岗位招聘面试参考题库及参考答案
- 2025年代客泊车专员岗位招聘面试参考题库及参考答案
- 2025年线下销售经理岗位招聘面试参考试题及参考答案
- 数字化背景下外包人才能力提升-洞察与解读
- C++可视化编程技术研究与应用
- 医疗机构依法执业自查管理办法
- 2024年甘肃省普通高中信息技术会考试题(含24套)
- 真空干燥箱校准规范
- 也是冬天也是春天:升级彩插版
- 茂名市恒兴养殖有限公司江湖镇龙梅生产基地建设项目环评报告
- 滑触线施工方案
- 小学二年级上册书法教案
- 2019电网通信网络运行班组标准化管理手册
- 垃圾池施工方案
- 儿内科神经肌肉系统疾病诊疗规范2023版
评论
0/150
提交评论