思维导图
8.1 引言
数据集成和互操作(DII)描述了数据在不同数据存储、应用程序和组织这三者内部和之间进行移动和整合的相关过程。数据集成是将数据整合成物理的或虚拟的一致格式。数据互操作是多个系统之间进行通信的能力。数据集成和互操作的解决方案提供了大多数组织所依赖的基本数据管理职能:
- 数据迁移和转换。
- 数据整合到数据中心或数据集市。
- 将供应商的软件包集成到组织的应用系统框架中。
- 在不同应用程序或组织之间数据共享。
- 跨数据存储库和数据中心分发数据。
- 数据归档。
- 数据接口管理。
- 获取和接收外部数据。
- 结构化和非结构化数据集成。
- 提供运营智能化和管理决策支持。
数据集成和互操作依赖于数据管理的其他领域,如:
- 数据治理。用于治理转换规则和消息结构。
- 数据架构。用于解决方案设计。
- 数据安全。无论数据是持久化、虚拟化还是在应用程序和组织之间流动,都要确保解决方案对数据的安全性进行适当的保护。
- 元数据。用于知晓数据的技术清单(持久的、虚拟的和动态 的)、数据的业务含义、数据转换的业务规则、数据操作历史和数据血缘。
- 数据存储和操作。管理解决方案的物理实例化。
- 数据建模和设计。用于设计数据结构,包括数据库中的物理持久化的结构、虚拟的数据结构以及应用程序和组织之间传送的消息结构。
数据集成和互操作对数据仓库和商务智能、参考数据和主数据管理至关重要,因为所有这些都关注数据从源系统转换和集成到数据中心, 以及从数据中心到目标系统,最终交付给数据消费者(人和系统)的过程。数据集成和互操作是新兴大数据管理领域的核心。大数据旨在整合各种类型的数据,包括存储在数据库中的结构化数据、存储在文档或文件中的非结构化文本数据以及其他类型的非结构化数据。
8.1.1 业务驱动因素
数据集成和互操作主要目的是为了对数据移动进行有效管理
- 由于大多数组织都有数以百计的数据库和存储库,因此每个信息技术组织的主要责任就是管理数据在组织内部的存储库与其他组织之间的双向流动过程
一些组织从软件供应商处购买应用程序而不是开发定制应用程序,这扩大了企业数据集成和互操作性的需求
对企业来说,管理数据集成的复杂性以及相关成本是建立数据集成架构的原因。企业级的数据集成设计远远比分散的或点对点的解决方案效率更高、成本更低
数据仓库和主数据解决方案,如数据中心(Data Hub),通过整合许多应用程序所需的数据,并为这些应用程序提供一致的数据视图,从而能缓解这个问题
另一个业务驱动因素是维护管理成本
在使用多种技术来移动数据时,每种技术都需要特定的开发和维护技术,这样都会造成支撑成本增加。标准工具的应用可以降低维护和人力成本,并提高故障排除工作的效率。降低接口管理的复杂性不仅可以减少接口的维护成本,并使支撑资源能更有效地在企业其他优先事务中发挥作用。
数据集成和互操作(DII)还支持组织遵守数据处理标准和规则的能力。企业级数据集成和互操作系统可以重用代码,从而实现规则的兼容性,并简化兼容性验证工作。
8.1.2 目标和原则
目标:
- 及时以数据消费者(人和系统)所需的格式提供数据。
- 将数据物理地或虚拟地合并到数据中心。
- 通过开发共享模型和接口来降低管理解决方案的成本和复杂度。
- 识别有意义的事件(机会和威胁),自动触发警报并采取相应行动。
- 支持商务智能、数据分析、主数据管理以及运营效率的提升。
原则:
- 采用企业视角确保未来的可扩展性设计,通过迭代和增量交付实现。
- 平衡本地数据需求与企业数据需求,包括支撑与维护。
- 确保数据集成和互操作设计和活动的可靠性。业务专家应参与数据转换规则的设计和修改,包括持久性和虚拟性。
8.1.3 基本概念
1、抽取、转换、加载
(1)抽取
(2)转换:格式变化、结构变化、语义转换、消除重复、重新排序
(3)加载
(4)ELT:大数据环境下
(5)映射
2、时延
时延(Latency)是指从源系统生成数据到目标系统可用该数据的时间差。不同的数据处理方法会导致不同程度的数据延迟。延迟可以是很高(批处理)或较高(事件驱动),甚至是非常低(实时同步)。
(1)批处理:批文件或周期触发,高延迟
(2)变更数据捕获
变更数据捕获可以是基于 数据的,也可以是基于日志的;变更数据捕获是一种通过增加过滤来减少传送带宽需求的方法,只包含在特定时间范围内更改过的数据。
基于数据:
- 源系统填入特定的数据元素。例如,某一个范围内的时间戳、 代码或标志,它们都可以作为变更指示符。抽取过程使用规则来识别要抽取的行。
- 源系统进程在更改数据时被添加到一个简单的对象和标识符列表,然后用于控制抽取数据的选择。
- 源系统复制已经变化的数据。这些数据已经作为交易的一部分变成了独立对象,然后用于抽取处理。此对象不需要在数据库管理系统内。
在基于日志的更改数据捕获中,数据库管理系统创建的数据活动日志被复制和处理,然后寻找将其转换并应用到目标数据库的特定更改。
(3)准实时和事件驱动
大多数未采用批量方式的数据集成解决方案都是使用准实时或事件驱动的方式。数据在特定的时间表内是以较小的集合进行处理,或者在事件发生时处理,如数据更新。与批处理相比,准实时(Near-Real- Time)处理具有更低的延迟,而且通常因为工作是随时间分布的,所以系统负载较低
(4)异步
在异步数据流中,提供数据的系统在继续处理之前不会等待接收系统确认更新。异步意味着发送或接收系统可能会在一段时间内离线,而另一个系统可以正常运行。
异步数据集成不会阻塞源应用程序继续执行,也不会在任何目标应用程序不可用时导致源应用程序不可用。由于在异步配置中对应用程序进行的数据更新不是及时的,所以称为准实时集成。在接近实时的环境中,源中进行的更新与中继到目标数据集之间的延迟通常为秒级或分级。
(5)实时、同步
有些情况下,源数据和目标数据之间不允许存在时间延迟或其他差 异。当一个数据集的数据必须与另一个数据集的数据保持完美的同步时,必须使用实时的同步解决方案。
(6)低延迟或流处理
低延迟数据集成解决方案旨在减少事件的响应时间。
3、复制
考虑为世界各地的用户提供更好的响应时间,一些应用程序在多个物理位置上有维护数据集的精确副本。复制技术将分析和查询对主事务操作环境性能的影响降至最低。
- 这种解决方案必须把物理上分布的各个数据集副本进行数据同步。
- 由于复制解决方案的好处是对源数据集的影响最小,传送的数据量也最小(非常明显),因此许多数据集成解决方案中都使用了复制,即使是那些不包括远程物理分布的解决方案也是如此。
- 当源数据集和目标数据集是彼此的精确副本时,复制工具的表现最佳。源数据和目标数据的差异给同步带来了风险。
- 如果数据更改动作发生在多个副本站点时,那么数据复制解决方案不是最佳的选择。如果有可能在两个不同的站点更改相同的数据片段, 则存在数据可能不同步的风险,或者其中一个站点的更改可能会在没有警告的情况下被覆盖
4、归档
5、企业消息格式/规范格式
6、交互模式
(1)点到点
共享数据系统之间的绝大多数交互都是“点对点”的,它们直接相互传递数据。这个模型在一小组系统的上下文中是行得通的。但是,当许多系统需要来自同一来源的相同数据时,它会很快变得效率低下并增加组织风险。具体有以下几个方面:
- 影响处理(Impacts to Processing)。如果源系统是操作型的, 那么提供数据的工作量可能会影响交易处理。
- 管理接口(Managing Interfaces)。点对点交互模型所需的接口数量接近系统数量的平方数。一旦建立了这些接口,就需要维护和支撑这些接口。管理和支撑系统之间接口的工作量很快就会大于系统本身的支持。
- 潜在的不一致(Potential for Inconsistency)。当多个系统需要不同的版本或数据格式时,就会出现设计问题。使用多个接口获取数据会导致发送给下游系统的数据不一致。
(2)中心辐射型
中心辐射型(Hub-and-Spoke)模型是点对点的替代方案,它将共享数据(物理或虚拟)整合到应用程序可以使用的一个中央数据中心。数据仓库、数据集市、操作数据存储和主数据管理中心都是数据中心的最佳示范。
企业服务总线(Enterprise Service Bus,ESB)是用于在多个系统之 间接近实时共享数据的数据集成解决方案,其数据中心是一个虚拟概念,代表组织中数据共享的标准和规范格式。
(3)发布与订阅
发布和订阅模型涉及推送(发布)数据的系统和其他接受(订阅) 数据的系统。当多个数据消费者需要特定格式的数据集时,集中开发该数据集并使其对所有需要的人都可用,可确保所有参与者及时收到一致的数据集。
7、数据集成和互操作架构概念
(1)应用耦合
耦合描述了两个系统交织的程度。两个紧密耦合的系统通常有一个同步接口,其中一个系统等待另一个系统的响应。在某些情况下,松耦合是一种优选的接口设计,其中在系统之间传送数据不需要等待响应,而且一个系统不可用时,不会导致另一个系统无法使用。
(2)编排和流程控制
编排(Orchestration)是一个术语,用来描述在一个系统中如何组 织和执行多个相关流程。所有处理消息或数据报的系统,必须能够管理 这些流程的执行顺序,以保持一致性和连续性。
流程控制是确保数据的调度、交付、抽取和装载的准确和完整的组件。基本数据传送架构中经常被忽略的有以下几个方面:
1)数据库活动日志。
2)批量作业日志。
3)警报。
4)异常日志。
5)作业依赖图,包含补救方案、标准回复。
6)作业的时钟信息,如依赖作业的定时、期望的作业长度、计算 (可用)的窗口时间。
(3)企业应用集成
(4)企业服务总线
企业服务总线(Enterprise Service Bus,ESB)是一个系统,它充当 系统之间的中介,在它们之间传送消息。
(5)面向服务的架构
多数成熟的企业数据集成策略都采用面向服务的架构(Service- Oriented Architecture,SOA)思想。通过在应用程序之间定义良好的服务调用,可以提供推送数据或更新数据(或其他数据服务)的功能。
(6)复杂事件处理
事件处理是一种跟踪和分析(处理)有关发生事件的信息流(数据流),并从中得出结论的方法。复杂事件处理(Complex Event Processing,CEP)将多个来源的数据进行合并,通过识别出有意义的事件(如机会或威胁),为这些事件设置规则来指导事件处理及路由,进而预测行为或活动,并根据预测的结果自动触发实时响应,如推荐消费者购买产品。
(7)数据联邦和虚拟化
(8)数据及服务
软件即服务(SaaS)
数据即服务(DaaS)
(9)云化集成
8、数据交换标准
数据交换标准是数据元素结构的正式规则。如同许多行业一样,国际标准化组织(ISO)也制定了数据交换标准。
8.2 活动
8.2.1 规划和分析
1、定义数据集成和生命周期需求
2、执行数据探索
3、记录数据血缘
4、剖析数据:
理解数据的内容和结构是实现数据集成成功的关键
基本剖析包括:
1)数据结构中定义的数据格式和从实际数据中推断出来的格式。
2)数据的数量,包括null值、空或默认数据的级别。
3)数据值以及它们与定义的有效值集合的紧密联系。
4)数据集内部的模式和关系,如相关字段和基数规则。
5)与其他数据集的关系。
剖析的目标之一是评估数据的质量。对于特定用途的适用性,评估数据时需要记录业务规则,并测量数据满足这些业务规则的程度
5、收集业务规则
业务规则是需求的一个关键子集,是定义或约束业务处理方面的语句。业务规则旨在维护业务结构、控制或影响业务的行为。业务规则分为四类:业务术语定义、相互关联的术语的事实、约束或行为断言以及派生。
实现数据集成和互操作需要业务规则的支撑。具体内容包括以下几 个方面:
1)评估潜在的源数据集和目标数据集的数据。
2)管理组织中的数据流。
3)监控组织中的操作数据。
4)指示何时自动触发事件和警报。
对于主数据管理而言,业务规则包括匹配规则、合并规则、存活规则和信任规则。对于数据归档、数据仓库和使用数据存储的其他情况,业务规则还包括数据保留规则。
8.2.2 设计数据集成解决方案
1、设计数据集成解决方案
(1)选择交互模式
确定哪个交互模型或组合将满足需求——中心辐射型、点到点或发布订阅。
(2)设计数据服务或交换模式
2、建模数据中心、接口、消息、数据服务
3、映射数据源到目标
对于映射关系中的每个属性,映射规范如下:
1)指明源数据和目标数据的技术格式。
2)指定源数据和目标数据之间所有中间暂存点所需的转换。
3)描述最终或中间目标数据存储区中每个属性的填充方式。
4)描述是否需要对数据值进行转换,如通过在表示适当目标值的表中查找源值。
5)描述需要进行哪些计算。
4、设计数据编排
数据集成解决方案中的数据流必须做好设计和记录。数据流程编排是从开始到结束的数据流模式,包括完成转换和/或事务所需的所有中间步骤。
8.2.3 开发数据集成解决方案
1、开发数据服务
2、开发数据流编排
3、制定数据迁移方法
4、制定发布方式
5、开发复杂事件处理流
6、维护数据集成和互操作的元数据
8.2.4 实施和监测
8.3 工具
8.3.1 数据转换引擎/ETL工具
8.3.2 数据虚拟化服务器
8.3.3 企业服务总线
8.3.4 业务规则引擎
8.3.5 数据和流程建模工具
8.3.6 数据剖析工具
8.3.7 元数据存储库
8.4 方法
8.5 实施指南
8.5.1 就绪评估/风险评估
采用新技术的数据集成开发项目常常将实施重点放在技术上,而忽略了业务目标。必须确保实施数据集成解决方案应保持在关注业务目标和需求上,包括确保每个项目中的参与者都有面向业务或应用程序的人员,而不仅仅是数据集成工具专家。
8.5.2 组织和文化变革
8.6 数据集成和互操作治理
数据消息、数据模型和数据转换规则设计的决策,直接影响到组织使用数据的能力。这些决策必须由商业因素驱动。
8.6.1 数据共享协议
8.6.2 数据集成和互操作与数据血缘
8.6.3 度量指标
- 数据可用性。请求数据的可获得性。
- 数据量和速度。它包括:传送和转换的数据量,分析数据量,传送速度,数据更新与可用性之间的时延,事件与触发动作之间的时延,新数据源的可用时间。
- 解决方案成本和复杂度。它包括:解决方案开发和管理成本,获取新数据的便利性,解决方案和运营的复杂度,使用数据集成解决方案的系统数量。