1 文章结构脑图
2 基本概念
2.1 抽取、转换、加载
数据集成和互操作的核心是抽取、转换和加载(ETL)这一基本过程。 <font color="green">P206</font> 见下图8-2
抽?。?/strong> 包括选择所需的数据并从其源数据中提取。
转换: 让选定的数据与目标数据库的结构相兼容。例子:格式变化。结构变成。 语义转换。消除重复。重新排序。
加载: 在目标系统中物理存储或呈现转换结果。
<font color="red">如果目标系统 比源系统或中间应用系统具有更强的转换能力,那么数据处理的顺序可以切换为 ELT——抽取、 加载、转换。</font> ==用ELT的方式加载至数据湖,这在大数据环境中是很常见的。==
映射:是从源结构到目标结构建立 查找矩阵的过程,也是该过程的结果。
转换的例子包括: <font color="green">P207</font>
- 1)格式变化。技术上的格式转换,如从EBCDIC到ASCII的格式转换。
- 2)结构变化。数据结构的变化,如从非规范化到规范化的记录。
- 3)语义转换。数据值转换时保持语义的一致化表达,如源性别代码可以包括0、1、2和3,而目标性别代码可以表示为UNKNOWN、FEMALE、MALE或NOT PROVIDED。
- 4)消除重复。如规则需要唯一的键值或记录,以确保包括扫描目标、检测和删除重复行的方法。
- 5)重新排序。改变数据元素或记录的顺序以适应已定义的模式。
2.2 时延
时延(Latency): 指从源系统生成数据到目标系统可用该数据的时间差。延迟可以是很高(批处理)或较高(事件驱动),甚至是非常低(实时同步)。 <font color="green">P208</font>
类型:批处理。变更数据捕获。准实时和事件驱动。异步。实时,同步。低延迟或流处理。
(1)批处理。大多数数据在应用程序和组织之间以一批文件的形式移动,要么是根据数据使用者的人工请求,要么是按周期自动触发。这种类型的交互称为批处理或ETL。 <font color="green">P208</font>
** (2)变更数据捕获。** 变更数据捕获是一种通过增加过滤来减少传送带宽需求的方法,只包含在特定时间范围内更改过的数据。 <font color="green">P208</font>
有三种基于数据的变更数据捕获技术:
- 1)源系统填入特定的数据元素。
- 2)源系统进程在更改数据时被添加到一个简单的对象和标识符列表,然后用于控制抽取数据的选择。
- 3)源系统复制已经变化的数据。
在基于日志的更改数据捕获中,数据库管理系统创建的数据活动日志被复制和处理,然后寻找将其转换并应用到目标数据库的特定更改。
(3)准实时和事件驱动 <font color="green">P209</font>
大多数未采用批量方式的数据集成解决方案都是使用准实时或事件驱动的方式。数据在特定的时间表内是以较小的集合进行处理,或者在事件发生时处理,如数据更新。与批处理相比,准实时(Near-Real- Time)处理具有更低的延迟,而且通常因为工作是随时间分布的,所以系统负载较低。但是,它通常比同步数据集成解决方案要慢一些。<font color="red">准实时数据集成解决方案通常是使用企业服务总线来实现。</font>
(4)异步: 异步意味着发送或接收系统可能会在一段时间内离线,而另一个系统可以正常运行。
<font color="red">在接近实时的环境中,源中进行的更新与中继到目标数据集之间的延迟通常为秒级或分级。</font>
在同步集成解决方案中,执行过程在执行下一个活动或事务之前需等待接收来自其他应用程序或进程的确认。 <font color="green">P209</font>
(5)实时,同步: <font color="red">当一个数据集的数据必须与另一个数据集的数据保持完美的同步时,必须使用实时的同步解决方案。</font>在同步集成解决方案中,执行过程在执行下一个活动或事务之前需等待接收来自其他应用程序或进程的确认。 <font color="green">P209</font>
(6)低延迟或流处理: 低延迟数据集成解决方案旨在减少事件的响应时间。<font color="red">异步解决方案通常用于低延迟解决方案。</font> <font color="green">P209</font>
2.3 复制
<font color="red">复制技术将分析和查询对主事务操作环境性能的影响降至最低。</font> <font color="green">P210</font>
复制解决方案通常监视数据集的更改日志,而不是数据集本身。
当源数据集和目标数据集是彼此的精确副本时,复制工具的表现最佳。
如果数据更改动作发生在多个副本站点时,那么数据复制解决方案不是最佳的选择。
2.4 归档
不经常使用的数据可以移动到对组织成本较低的备用数据结构或存储解决方案中。ETL功能可用于归档数据并可能将其转换为存档环境中的数据结构。<font color="green">P210</font>
2.5 企业消息格式/规范格式
规范化的数据模型是组织或数据交换团队使用的通用模型,用于标准化数据共享的格式。<font color="green">P211</font>
2.6 交互模型
交互模型描述了在系统之间建立连接以传送数据的方式。
包括: 1 点对点(影响处理。接口。潜在的不一致。)2 中心要辐射型。3 发布与订阅。<font color="green">P211</font>
2.7 数据集成和互操作架构概念
- 应用耦合: 耦合描述了两个系统交织的程度。<font color="green">P212</font>见下图8-4
-
编排和流程控制: <font color="green">P213</font>
- 编排(Orchestration)是一个术语,用来描述<font color="red">在一个系统中如何组织和执行多个相关流程</font>。所有处理消息或数据报的系统,必须能够管理这些流程的执行顺序,以保持一致性和连续性。
- 流程控制是确保数据的调度、交付、抽取和装载的准确和完整的组件。
-
基本数据传送架构中经常被忽略的有以下几个方面:
1)数据库活动日志;2)批量作业日志。3)警报。4)异常日志。5)作业依赖图,包含补救方案、标准回复。6)作业的时钟信息,如依赖作业的定时、期望的作业长度、计算(可用)的窗口时间。
-
企业应用集成 <font color="green">P213</font>
- 在企业应用集成模型(Enterprise Application Integration,EAI) 中,软件??橹浣鐾üㄒ辶己玫慕涌诘饔?应用程序编程接口- API)进行交互。
-
企业服务总线 <font color="green">P213</font> 见下图8-5
- 企业服务总线(Enterprise Service Bus,ESB)是一个系统,它充当系统之间的中介,在它们之间传送消息。应用程序可以通过ESB现有的功能封装发送和接收的消息或文件。作为一个==松散耦合的例子==。 ESB 充当两个应用程序之间的服务角色。
- 面向服务的架构: 大多数成熟的企业数据集成策略都采用面向服务的架构(Service- Oriented Architecture,SOA)思想。 通这在应用程序之间定义好的服务调用,可以提供推送数据或更新数据。SOA 的目标是在独立的软件??橹涠ㄒ辶己玫慕换?。数据服务可以包括数据的添加、删除、更新和检索,这些服务被指定在可用服务的目录中。SOA 可以通过 Web 服务、消息传送、RESTful API 等多种技术来实现。 <font color="green">P213</font>
-
复杂事件处理 <font color="green">P214</font>
- 事件处理是一种跟踪和分析(处理)有关发生事件的信息流(数据流),并从中得出结论的方法。
- 复杂事件处理(Complex Event Processing,CEP)将多个来源的数据进行合并,通过识别出有意义的事件(如机会或威胁),为这些事件设置规则来指导事件处理及路由,进而预测行为或活动,并根据预测的结果自动触发实时响应,==如推荐消费者购买产品。==
-
数据联邦和虚拟化 <font color="green">P214</font>
- 数据联邦(Data Federation)提供访问各个独立数据存储库组合的权限。
- 数据虚拟化(Data Virtualization) 使分布式数据库以及多个异构数据存储能够作为单个数据库来访问和查看。
-
数据即服务 <font color="green">P214</font>
- 数据即服务(DaaS)的一个定义是从供应商获得许可并按需由供应商提供数据,而不是存储和维护在被许可组织数据中心的数据。
- 一个常见的例子是==证券交易所出售证券和相关价格(当前和历史)的信息==。
- 云化集成: 也称为集成平台即服务或IPaaS,是作为云服务交付的一种系统集成形式。用它处理数据、流程、面向服务架构(SOA)和应用集成。 <font color="green">P215</font>
2.8 数据交换标准
数据交换标准: 是数据元素结构的正式规则。<font color="green">P215</font>
3 语境关系图
3.1 定义
数据集成和互操作(DII)描述了数据在不同数据存储、应用程序和组织这三者内部和之间进行移 动和整合的相关过程。<font color="green">P203</font>
数据集成: 是将数据整合成物理的或虚拟的一致格式。
数据互操作: 是多个系统之间进行通信的能力。
数据集成和互操作提供组织所依赖的基本数据管理职能: <font color="green">P203</font>
- 1)数据迁移和转换。
- 2)数据整合到数据中心或数据集市。
- 3)将供应商的软件包集成到组织的应用系统框架中。
- 4)在不同应用程序或组织之间数据共享。
- 5)跨数据存储库和数据中心分发数据。
- 6)数据归档。
- 7)数据接口管理。
- 8)获取和接收外部数据。
- 9)结构化和非结构化数据集成。
- 10)提供运营智能化和管理决策支持。
数据集成和互操作依赖于数据管理的其他领域: <font color="green">P203</font>
- 1)数据治理。用于治理转换规则和消息结构。
- 2)数据架构。用于解决方案设计。
- 3)数据安全。无论数据是持久化、虚拟化还是在应用程序和组织之间流动,都要确保解决方案对数据的安全性进行适当的保护。
- 4)元数据。用于知晓数据的技术清单(持久的、虚拟的和动态的)、数据的业务含义、数据转换的业务规则、数据操作历史和数据血缘。
- 5)数据存储和操作。管理解决方案的物理实例化。
- 6)数据建模和设计。用于设计数据结构,包括数据库中的物理持久化的结构、虚拟的数据结构以及应用程序和组织之间传送的消息结构。
3.2 目标
目标: <font color="green">P205</font>
- 1)及时以数据消费者(人和系统)所需的格式提供数据。
- 2)将数据物理地或虚拟地合并 到数据中心。
- 3)通过开发共享模型和接口来降低管理解决方案的成本和复杂度。
- 4)识别有意义 的事件(机会和威胁),自动触发警报并采取相应行动。
- 5)支持商务智能、数据分析、主数据 管理以及运营效率的提升。
原则: <font color="green">P205</font>
- 1)采用企业视角确保未来的可扩展性设计,通过迭代和增量交付实现。
- 2)平衡本地数据 需求与企业数据需求,包括支撑与维护。
- 3)确保数据集成和互操作设计和活动的可靠性。业务专家应参与数据转换规则的设计和修改,包括持久性和虚拟性。
3.3 业务驱动因素
数据集成和互操作是新兴大数据管理领域的核心,主要目的是为了对数据移动是进行有效管理。主要责任就是管理数据在组织内部的存储库与其他组织之间的双向流动过程。
业务驱动因素: <font color="green">P204</font>
- (1)管理数据集成的复杂性以及相关成本是建立数据集成架构的原因。
- (2)维护管理成本。
- (3) 支持组织遵守数据处理标准和规则的能力也是驱动因素之一。
3.4 输入
3.5 活动
活动: <font color="green">P205</font>
- 1.规划和分析。(1)定义数据集成和生命周期<font color="red">需求</font> 。(2)执行数据<font color="red">发现</font> 。(3)记录数据<font color="red">血缘</font> 。(4)<font color="red">剖析数据</font> 。(5)<font color="red">收集业务规则</font> 。
- 2.设计数据集成方案。(1)<font color="red">设计</font> 解决方案组件。 (2)<font color="red">建模</font> 数据中心接口数据服务。(3)<font color="red">映射</font> 数据到目标。(4)设计数据<font color="red">编排</font> 。
- 3.开发数据集成解决方案。(1)开发<font color="red">数据服务</font> 。(2)开发<font color="red">数据流编排</font> 。(3)制定数据<font color="red">迁移方法</font> (4)开发复杂事件<font color="red">处理流</font> (5)<font color="red">维护 DII 元数据</font> 。
- 4.实施和监测。
3.5.1 规划和分析
- 定义数据集成和生命周期需求。 理解组织的业务目标及为实现这些目标而需要的数据和建议的技术方案。由业务分析师、数据管理专员和具有各种职能架构师定义。 过程创建并发现元数据,有利于管理数据成风险和成本。 <font color="green">P216</font>
- 执行数据探索。 为数据集成工作确定潜在的数据来源,还针对数据质量进行高级别的评估,以确定数据是否集成。数据探索会生成完善组织的数据目录。需要做好集成内外部数据的规划。 <font color="green">P216</font>
- 记录数据血缘。 揭示数据在组织中如何流动。血缘分析可能会识别使用的系统所需的更新,分析过程还可以提供改进现有数据流的机会。 <font color="green">P216</font>
-
剖析数据。 <font color="red">理解数据内容和结构是实现数据集成功的关键。</font>
基本剖析包括: 1)数据结构中定义的数据格式和从实际数据中推断出来的<font color="red">格式</font>。2)数据的<font color="red">数量</font>,包括 null 值、空或默认数据的级别。3)<font color="red">数据值</font>以及它们与定义的有效值集合的紧密联系。4)数据集内部的模式和关系,如相关字段和基数规则。<font color="red">(内部关联)</font>5)<font color="red">与其他数据集的关系(数据集之间的关联)</font>。 <font color="green">P217</font>
-
收集业务规则。 收集业务规则也称为<font color="red">规则获取、业务规则挖掘</font>。业务规则是需求的一个关键子集,是定义或约束业务处理方面的语句。业务规则旨在维护业务结构、 控制或影响业务的行为。
业务规则分为四类: <font color="red">业务术语定义、相互关联的术语的事实、约束或行为断言以及派生</font>。
实现数据集成和互操作需要业务规则的支撑内容: 1)<font color="red">评估</font>潜在的源数据集和目标数据集的<font color="red">数据</font>。2)<font color="red">管理</font>组织中的<font color="red">数据流</font>。3)<font color="red">监控</font>组织中的<font color="red">操作数据</font>。4)指示何时自动<font color="red">触发事件和警报</font>。
业务规则 : 匹配规则、合并规则、存活规则、信任规则。 <font color="green">P217</font>
3.5.2 设计数据集成方案
设计数据集成解决方案: 在企业和单个解决方案两个层面统筹考虑。尽可能重现有方案和组件。解决方案体系结构表示将要使用的技术,它将包括所涉及<font color="red">数据结构的清单(持久和可传递、现有和必需)、数据流的编排和频率指示、法规、安全问题和补救措施以及有关备份和恢复、可用性和数据存档和保留。</font>
步骤: (1)设计交互模型。(2)设计数据服务交换模式。<font color="green">P218</font>建模数据中心、接口、消息、数据服务。数据持久化的数据结构,如主数据管理中心、数据仓库、数据集市、操作型数据存储库等。<font color="green">P218</font>
映射数据源到目标。 几乎所有的数据集成解决方案都包括从源结构到目标结构的数据转换。做好从一个位置到另一位置的数据格式转换映射规则。
映射规范: 1)指明源数据和目标数据的技术格式。2)指定源数据和目标数据之间所有中间暂存点所需的转换。3)描述最终或中间目标数据存储区中每个属性的填充方式。4)描述是否需要对数据值进行转换,如通过在表示适当目标值的表中查找源值。5)描述需要进行哪些计算。<font color="green">P219</font>设计数据编排。 从开始到结束的数据流模式,包括完成转换和/或事务所需的所有中间步骤。设定数据移动和转换的频率。<font color="green">P219</font>
3.5.3 开发数据集成解决方案
开发数据服务。 使用一致的工具或标准的供应商套件。<font color="green">P219</font>
** 开发数据流编排。** 开发实时数据成流涉及监控事件。可能包括开发数据存储之间的映射或协调点,涉及监控事件。<font color="green">P219</font>
** 制定数据迁移方法。** 不是一次性的过程,常被低估或缺乏充分的设计。<font color="green">P220</font>
** 制定发布方式。** 最佳实践是为组织中的各种数据类型确定一个通用的消息定义(规范格式),并让具有适当访问权限的数据使用者(应用程序或个人)订阅接收有关数据更改的通知。<font color="green">P220</font>
开发复杂事件处理流。 需要做的工作:1)准备有关预测模型的个人、组织、产品或市场和迁移前的历史数据。2)处理实时数据流,充分填充预测模型、识别有意义的事件(机会或威胁)。3)根据预测执行触发的动作。<font color="green">P220</font>
维护数据集成和互操作的元数据。 元数据应经过业务和技术利益相关方的审核和批准过程。<font color="green">P220</font>
3.5.4 实施和监测
建立度量指标和反馈问题的机制。必须进行苛刻的监视和服务。<font color="green">P221</font>
3.6 交付成果
3.7 技术驱动因素
3.8 方法
3.9 工具
工具: 1、数据转换引擎/ETL 工具。2、数据虚拟化服务器。3、企业服务总线 ESB。4、业务规则引擎。5、数据和流程建模工具。6、数据剖析工具。7、元数据存储库。<font color="green">P221</font>
3.10 度量指标
度量指标: <font color="green">P226</font>
- 1)数据可用性。请求数据的可获得性。
- 2)数据量和速度。它包括:传送和转换的数 据量,分析数据量,传送速度,数据更新与可用性之间的时延,事件与触发动作之间的时延,新数据源的可用时间。
- 3)解决方案成本和复杂度。它包括:解决方案开发和管理成本,获取新数据的便利性,解决方案和运营的复杂度,使用数据集成解决方案的系统数量。
4 实施指南
就绪评估/风险评估: 必须基于深入的业务来开发数据集成解决方案。<font color="red">方案要保持在关注业务和需求上</font>。要有足够权威级别的团队来企业数据集成的实施,通过正面激励措施来鼓励,通过负面的管控措施来否决。<font color="green">P224</font>
5 数据集成和互操作治理
数据消息、数据模型和数据转换规则设计的决策,直接影响到组织使用数据的能力。这些决策必须由商业因素驱动。==【业务驱动,技术支撑】==<font color="green">P224</font>
<font color="red">在开发接口或以电子方式提供数据之前,应制定一份数据共享协议或谅解备忘录(MOU)</font>。该协议规定了交换数据的责任和可接受的使用用途,并由相关数据的业务数据主管批准。
6 关键架构图
-
图8-1 数据集成和互操作语境关系图
-
图8-2 ETL处理过程
-
图8-3 ELT处理过程
-
图8-4 应用耦合
-
图8-5 企业服务总线