第8章 数据集成和互操作

思维导图

8.1 引言

        数据集成和互操作(DII)描述了数据在不同数据存储、应用程序和组织这三者内部和之间进行移动和整合的相关过程。数据集成是将数据整合成物理的或虚拟的一致格式。数据互操作是多个系统之间进行通信的能力。数据集成和互操作的解决方案提供了大多数组织所依赖的基本数据管理职能:

  1. 数据迁移和转换。
  2. 数据整合到数据中心或数据集市。
  3. 将供应商的软件包集成到组织的应用系统框架中。
  4. 在不同应用程序或组织之间数据共享。
  5. 跨数据存储库和数据中心分发数据。
  6. 数据归档。
  7. 数据接口管理。
  8. 获取和接收外部数据。
  9. 结构化和非结构化数据集成。
  10. 提供运营智能化和管理决策支持。

数据集成和互操作依赖于数据管理的其他领域,如:

  1. 数据治理。用于治理转换规则和消息结构。
  2. 数据架构。用于解决方案设计。
  3. 数据安全。无论数据是持久化、虚拟化还是在应用程序和组织之间流动,都要确保解决方案对数据的安全性进行适当的保护。
  4. 元数据。用于知晓数据的技术清单(持久的、虚拟的和动态 的)、数据的业务含义、数据转换的业务规则、数据操作历史和数据血缘。
  5. 数据存储和操作。管理解决方案的物理实例化。
  6. 数据建模和设计。用于设计数据结构,包括数据库中的物理持久化的结构、虚拟的数据结构以及应用程序和组织之间传送的消息结构。

        数据集成和互操作对数据仓库和商务智能、参考数据和主数据管理至关重要,因为所有这些都关注数据从源系统转换和集成到数据中心, 以及从数据中心到目标系统,最终交付给数据消费者(人和系统)的过程。数据集成和互操作是新兴大数据管理领域的核心。大数据旨在整合各种类型的数据,包括存储在数据库中的结构化数据、存储在文档或文件中的非结构化文本数据以及其他类型的非结构化数据。

8.1.1 业务驱动因素

数据集成和互操作主要目的是为了对数据移动进行有效管理

  1. 由于大多数组织都有数以百计的数据库和存储库,因此每个信息技术组织的主要责任就是管理数据在组织内部的存储库与其他组织之间的双向流动过程
  2. 一些组织从软件供应商处购买应用程序而不是开发定制应用程序,这扩大了企业数据集成和互操作性的需求

  3. 对企业来说,管理数据集成的复杂性以及相关成本是建立数据集成架构的原因。企业级的数据集成设计远远比分散的或点对点的解决方案效率更高、成本更低

  4. 数据仓库和主数据解决方案,如数据中心(Data Hub),通过整合许多应用程序所需的数据,并为这些应用程序提供一致的数据视图,从而能缓解这个问题

另一个业务驱动因素是维护管理成本

        在使用多种技术来移动数据时,每种技术都需要特定的开发和维护技术,这样都会造成支撑成本增加。标准工具的应用可以降低维护和人力成本,并提高故障排除工作的效率。降低接口管理的复杂性不仅可以减少接口的维护成本,并使支撑资源能更有效地在企业其他优先事务中发挥作用。

        数据集成和互操作(DII)还支持组织遵守数据处理标准和规则的能力。企业级数据集成和互操作系统可以重用代码,从而实现规则的兼容性,并简化兼容性验证工作。

8.1.2 目标和原则

目标:

  1. 及时以数据消费者(人和系统)所需的格式提供数据。
  2. 将数据物理地或虚拟地合并到数据中心。
  3. 通过开发共享模型和接口来降低管理解决方案的成本和复杂度。
  4. 识别有意义的事件(机会和威胁),自动触发警报并采取相应行动。
  5. 支持商务智能、数据分析、主数据管理以及运营效率的提升。

原则:

  1. 采用企业视角确保未来的可扩展性设计,通过迭代和增量交付实现。
  2. 平衡本地数据需求与企业数据需求,包括支撑与维护。
  3. 确保数据集成和互操作设计和活动的可靠性。业务专家应参与数据转换规则的设计和修改,包括持久性和虚拟性。

8.1.3 基本概念

1、抽取、转换、加载

(1)抽取

(2)转换:格式变化、结构变化、语义转换、消除重复、重新排序

(3)加载

(4)ELT:大数据环境下

(5)映射

2、时延

        时延(Latency)是指从源系统生成数据到目标系统可用该数据的时间差。不同的数据处理方法会导致不同程度的数据延迟。延迟可以是很高(批处理)或较高(事件驱动),甚至是非常低(实时同步)。

(1)批处理:批文件或周期触发,高延迟

(2)变更数据捕获

        变更数据捕获可以是基于 数据的,也可以是基于日志的;变更数据捕获是一种通过增加过滤来减少传送带宽需求的方法,只包含在特定时间范围内更改过的数据。

基于数据:

  1. 源系统填入特定的数据元素。例如,某一个范围内的时间戳、 代码或标志,它们都可以作为变更指示符。抽取过程使用规则来识别要抽取的行。
  2. 源系统进程在更改数据时被添加到一个简单的对象和标识符列表,然后用于控制抽取数据的选择。
  3. 源系统复制已经变化的数据。这些数据已经作为交易的一部分变成了独立对象,然后用于抽取处理。此对象不需要在数据库管理系统内。

在基于日志的更改数据捕获中,数据库管理系统创建的数据活动日志被复制和处理,然后寻找将其转换并应用到目标数据库的特定更改。

(3)准实时和事件驱动

        大多数未采用批量方式的数据集成解决方案都是使用准实时或事件驱动的方式。数据在特定的时间表内是以较小的集合进行处理,或者在事件发生时处理,如数据更新。与批处理相比,准实时(Near-Real- Time)处理具有更低的延迟,而且通常因为工作是随时间分布的,所以系统负载较低

(4)异步

        在异步数据流中,提供数据的系统在继续处理之前不会等待接收系统确认更新。异步意味着发送或接收系统可能会在一段时间内离线,而另一个系统可以正常运行。

        异步数据集成不会阻塞源应用程序继续执行,也不会在任何目标应用程序不可用时导致源应用程序不可用。由于在异步配置中对应用程序进行的数据更新不是及时的,所以称为准实时集成。在接近实时的环境中,源中进行的更新与中继到目标数据集之间的延迟通常为秒级或分级。

(5)实时、同步

有些情况下,源数据和目标数据之间不允许存在时间延迟或其他差 异。当一个数据集的数据必须与另一个数据集的数据保持完美的同步时,必须使用实时的同步解决方案。

(6)低延迟或流处理

低延迟数据集成解决方案旨在减少事件的响应时间。

3、复制

        考虑为世界各地的用户提供更好的响应时间,一些应用程序在多个物理位置上有维护数据集的精确副本。复制技术将分析和查询对主事务操作环境性能的影响降至最低。

  • 这种解决方案必须把物理上分布的各个数据集副本进行数据同步。
  • 由于复制解决方案的好处是对源数据集的影响最小,传送的数据量也最小(非常明显),因此许多数据集成解决方案中都使用了复制,即使是那些不包括远程物理分布的解决方案也是如此。
  • 当源数据集和目标数据集是彼此的精确副本时,复制工具的表现最佳。源数据和目标数据的差异给同步带来了风险。
  • 如果数据更改动作发生在多个副本站点时,那么数据复制解决方案不是最佳的选择。如果有可能在两个不同的站点更改相同的数据片段, 则存在数据可能不同步的风险,或者其中一个站点的更改可能会在没有警告的情况下被覆盖

4、归档

5、企业消息格式/规范格式

6、交互模式

(1)点到点

        共享数据系统之间的绝大多数交互都是“点对点”的,它们直接相互传递数据。这个模型在一小组系统的上下文中是行得通的。但是,当许多系统需要来自同一来源的相同数据时,它会很快变得效率低下并增加组织风险。具体有以下几个方面:

  1. 影响处理(Impacts to Processing)。如果源系统是操作型的, 那么提供数据的工作量可能会影响交易处理。
  2. 管理接口(Managing Interfaces)。点对点交互模型所需的接口数量接近系统数量的平方数。一旦建立了这些接口,就需要维护和支撑这些接口。管理和支撑系统之间接口的工作量很快就会大于系统本身的支持。
  3. 潜在的不一致(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 度量指标

  1. 数据可用性。请求数据的可获得性。
  2. 数据量和速度。它包括:传送和转换的数据量,分析数据量,传送速度,数据更新与可用性之间的时延,事件与触发动作之间的时延,新数据源的可用时间。
  3. 解决方案成本和复杂度。它包括:解决方案开发和管理成本,获取新数据的便利性,解决方案和运营的复杂度,使用数据集成解决方案的系统数量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/802252.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

配置交换机 SSH 管理和端口安全——实验1:配置交换机基本安全和 SSH管理

实验目的 通过本实验可以掌握: 交换机基本安全配置。SSH 的工作原理和 SSH服务端和客户端的配置。 实验拓扑 交换机基本安全和 SSH管理实验拓扑如图所示。 交换机基本安全和 SSH管理实验拓扑 实验步骤 (1)配置交换机S1 Switch>enab…

【r-tree算法】一篇文章讲透~

目录 一、引言 二、R-tree算法的基本原理 1 数据结构 2 插入操作 3 删除操作 4 查询操作 5 代码事例 三、R-tree算法的性能分析 1 时间复杂度 2 空间复杂度 3 影响因素 四、R-tree算法的变体和改进 1 R*-tree算法 2 X-tree算法 3 QR-tree算法 五、R-tree算法的…

axure谷歌插件(直接下载)

axure谷歌插件 在网上找一个谷歌的axure,不是登陆就是收费,离谱。找了好久才找到这个,我下载保存到网盘了,直接下载就ok,永久无提取码。 下载插件文件,打开开发者模式,直接拖进来就ok。 网盘…

esxi上给centos7虚拟机扩容硬盘

原来centos7硬盘分配的空间只有40GB 需要直接扩容到200GB 扩容前 扩容后 扩容步骤: 1 .在esxi平台上关机虚拟机,将硬盘调整为200GB,然后开机 2.请出chatGPT 1. 创建新分区 使用剩余的磁盘空间创建一个新的分区。你可以使用fdisk&#xf…

Flink Keyed State的优化与实践

本期作者 1.背景 Flink SQL在业务使用中有较多的双流join场景,当左右流的流量都较大,Join的等待时间即使为1小时,Flink Keyed State(Flink State分Operator State和Keyed State,后文所有State均代表后者)的…

数据库(mysql)-基本查询语句(DQL)

查询语句 这边查询是给予一定表格,这边先做个解释 教师表包括(name(姓名),gender(性别),salary(工资),title(职位),subject_id(课程的编号),comm(奖金)) 学生表包括(姓名(name),gender(性别),job(职位),生日(birth)) 模版 SELECT 字段名 FROM 查询表 WHERE 查询语句 或与非…

k8s_入门_命令详解

命令详解 kubectl是官方的CLI命令行工具,用于与 apiserver进行通信,将用户在命令行输入的命令,组织并转化为 apiserver能识别的信息,进而实现管理k8s各种资源的一种有效途径 1. 帮助 2. 查看版本信息 3. 查看资源对象等 查看No…

Linux应用开发(3):Linux时间操作(time、mktime、localtime等)

1. 简述 在Linux系统中,时间操作函数是编程中经常使用的一部分,它们允许程序获取和设置系统时间,以及对时间进行各种处理。以下是一些常用的时间操作函数的详细介绍。 2. 时间操作 (1)time(): 获取1970年1月1日以来的…

爬虫入门教程(一)

爬虫入门教程 1.什么是爬虫 爬虫是一种自动获取网站数据的程序或脚本。它可以自动模拟人类访问网站,获取网页源代码,解析并提取出所需的数据。 爬虫的工作原理类似于搜索引擎的索引程序,它们会按照预定的规则和算法在互联网上不断地爬取网页,收集信息…

k8s知识

k8s是用于容器编排和管理的,docker或者ctr是k8s的运行时,k8s通过容器运行时来启动容器,容器启动需要镜像,镜像可以用docker构建,dockerfile就是用于自定义如何构建镜像,所以上面那套流水线就是先用dockerfi…

Linux|从 STDIN 读取 Awk 输入

简介 在之前关于 Awk 工具的系列文章中,主要探讨了如何从文件中读取数据。但如果你希望从标准输入(STDIN)中读取数据,又该如何操作呢? 在本文中,将介绍几个示例,展示如何使用 Awk 来过滤其他命令…

即插即用篇 | YOLOv8引入Haar小波下采样 | 一种简单而有效的语义分割下采样模块

本改进已集成到 YOLOv8-Magic 框架。 下采样操作如最大池化或步幅卷积在卷积神经网络(CNNs)中被广泛应用,用于聚合局部特征、扩大感受野并减少计算负担。然而,对于语义分割任务,对局部邻域的特征进行池化可能导致重要的空间信息丢失,这有助于逐像素预测。为了解决这个问题…

mysql 查询变量@i:=@i+1

学习完mysql的查询:基本查询,连接查询和子查询和mysql 正则表达式查询,接下来先学习下变量查询。 mysql中没有oracle序列号那一列。mysql可以使用查询变量的方式去处理。我们先了解下查询变量,后面应用起来就更清晰。 1&#xff0…

“弱智吧”才是人类面对AI的最后一道堡垒

在 AI 的研究领域中,语言模型的训练数据选择一直是一个关键问题。传统的智慧告诉我们,高质量的数据集应该是由专家精心挑选和校对的文本组成,以确保模型学习到的语言是规范、准确、有文化内涵的。 然而,最近的一项研究颠覆了这一观…

【Java】Java中类的初始化顺序(静态方法,静态块,非静态块,最后有流程图)

📝个人主页:哈__ 期待您的关注 在日常使用Java的时候,我们都接触过new这个关键字,那你是否知道在我们的对象真正创建出来之前都做了哪些事情呢? 实际上要去判断一个类的初始化的顺序,需要分一下情况&…

Bean的默认名称

1.使用spring的注解 Component、Repository、Service、Controller 等注解去把一个类配置为bean时,如果不指定bean的名称,那么bean的名称的默认规则是: ①类名的首字母小写,例如:类名称 UserDao ,那么默认的…

C++笔记:STL容器库的使用

前置: 对于stl容器库,我只做了一些常用的笔记,关于更详细的使用可以参考:https://cppreference.com/https://cppreference.com/ 一.string--字符串 对于C中string字符串会比C语言的字符数组使用起来会顺手许多。 命名空间:std 关于…

使用串口给ESP8266发送AT指令无反应解决

解决方法:重新烧录固件 设置PC机波特率 设置PC机上的端口波特率和flash下载工具中的波特率一致,否则flash下载工具会一直提示串口连接失败。我这里将PC机上的串口波特率设置为115200,然后flash下载工具波特率也设置为115200 Windows系统上…

电脑远程控制esp32上的LED

1、思路整理 首先esp32需要连接上wifi 然后创建udp socket 接受udp数据 最后解析数据,控制LED 2、micropython代码实现 import network from socket import * from machine import Pin p2Pin(2,Pin.OUT)def do_connect(): #连接wifi wlan network.WLAN(network.…

芒果YOLOv8改进组合157:动态标签分配ATSS+新颖高效AsDDet检测头组合改进,共同助力VisDrone涨点1.8%,小目标高效涨点

💡本篇内容:【芒果YOLOv8改进ATSS标签分配策略|第三集】芒果YOLOv8改进组合157:动态标签分配ATSS+新颖高效AsDDet检测头组合改进,共同助力VisDrone涨点1.8%,小目标高效涨点 💡🚀🚀🚀本博客 标签分配策略ATSS改进+ 新颖高效AsDDet检测头组合改进,适用于 YOLOv8 …