(数据集成与互操作)

Posted 浊酒南街

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(数据集成与互操作)相关的知识,希望对你有一定的参考价值。

目录

一、前言

本文是《DAMA数据管理知识体系指南》第八章的读书笔记,主要讲述数据集成和互操作相关的内容,就是数据集成处理与数据能力提供,核心内容就是ETL相关的内容。数据集成和互操作是数据实践中最重要的模块之一,同时也是数据管理的核心内容,以及具体的落地之处。该章节对数据集成和互操作的各概念、相关系统、核心关注点都有比较清晰的讲解,对所有的数据从业同学都会有所启发,非常值得一读。该篇总结约7000字,如果时间充足建议大家在PC端进行阅读。

二、内容结构

本章节首先从数据集成和互操作的概念讲起,并阐述其驱动因素、活动目标,并对数据集成和互操作的主要动作ETL进行了较为详细的讲述。然后对整个活动过程中的名词、实施注意事项一一罗列,对过程的规范设计、方案实施以及治理优化都进行了简要阐述。本文的内容对所有的数据从业同学都有较大的参考性,因此本文的思维导图整理会较为详细一些,以便大家对照阅读。

三、主要内容

1.引言

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

1.1业务驱动因素

数据集成和互操作的主要目的是为了对数据移动进行有效管理。由于大多数组织都有数以百计的数据库和存储库,因此每个信息技术组织的主要责任就是管理数据在组织内部的存储库与其他组织之间的双向流动过程。其核心的业务驱动因素包括:

提升数据方案解决效率:如果处理不当,移动数据的过程可能会压垮IT资源和能力,并弱化对传统应用程序和数据管理领域需求的支持能力。

降低维护管理成本:在使用多种技术来移动数据时,每种技术都需要特定的开发和维护,这样会造成支撑成本的增加,标准工具应用可以降低维护和人力成本。

1.2目标和原则

数据集成和互操作实践解决方案的实施主要目标是:

及时按数据消费者所需的格式提供数据

将数据物理地或虚拟地合并到数据中心

通过开发共享模型和接口来降低管理解决方案的成本和复杂度

识别有意义的事件(机会和威胁),自动触发警报并采取相应行动

支持商务智能、数据分析、主数据管理以及运营效率的提升

再试试数据集成和互操作时,组织应遵循以下主要原则:

采用企业视角确保未来的可扩展性设计,通过迭代和增量交付实现

平衡本地数据需求与企业数据需求,包括支撑与维护

确保数据集成和互操作设计和活动的可靠性。

1.3基本概念

抽取、转换、加载:数据集成和互操作的核心是数据的抽取、转化和加载(ETL)这一基本过程。无论是在物理状态或是虚拟状态下,批量或者实时的执行ETL都是在应用程序和组织之间数据流动的必要步骤。ETL可以作为定期调度事件执行(批处理),也可以在有新数据或数据更新后执行(实时或事件驱动)。操作型数据往往是实时或者准实时的,而分析或报表所需的数据通常在批处理作业中进行。

抽取过程包括选择所需的数据并从其源数据中提取,然后,被抽取的数据会在磁盘或内存中的物理数据存储库中进行存储;然后,被抽取的数据会在磁盘或内存中的物理数据存储库中进行存储。

转换过程是让选定的数据域目标数据库的结构相兼容,常见的转换包括:数据格式转化、数据结构转化、语义转化、消除重复、重新排序等。

加载过程是在目标系统中物理存储或呈现转换结果。根据所执行的转换、目标系统目的和其预期用途,数据可能需要进一步的处理以便与其他数据集成,或者可能以一种最终形态呈现给消费者。

从ETL到ELT:如果目标系统比源系统或中间应用具有更强的数据转换能力,那么为了提升数据处理的效率可以将数据处理步骤调整为ELT(抽取、加载、转换)。随着大数据技术的不断发展,数据中心处理能力远远超过数据数据源系统,所以ELT逐渐变为现在数据处理的主流方式。


时延:时延是指从源系统生成数据到目标系统可用该数据的时间差。不同的数据处理方式会导致不同程度的数据延迟。批处理的时延可能相对较高,实时数据的时延通常较低。

批处理:要么根据数据使用者的人工请求,要么是按照周期自动触发的数据处理方式。以批处理模式移动的数据代表在给定时间点的全部数据,对时间点后的数据不会进行更新同步。批处理对于在短时间内处理大量数据非常有用,它倾向于数据仓库数据集成解决方案。为了实现快速处理和低延迟,一些数据集成解决方案使用微批处理。

变更数据捕获:变更数据捕获是一种通过增加过滤来减少传送宽带需求的方法,只包含在特定时间范围内更改过的数据。变更数据捕获监视数据集的更改(插入、更改、删除),然后将这些更改(增量)传送给使用这些数据的其他数据集、应用程序和组织。变更数据捕获可是基于数据的,也可基于日志。

准实时和事件驱动:数据在特定的数据表内是以较小的数据集合进行处理,或者在事件发生时处理。准实时处理具有更低的延迟,而且通常因为工作是随时间分布的,所以系统负载较低。准实时数据集成解决方案通常是企业服务总线来实现。

异步:异步数据集不会阻塞源应用程序继续执行,也不会在任何目标应用程序不可用时导致源应用程序不可用。异步配置中对应用程序进行的数据更新不是及时的,所以称为准实时集成。

实时&同步:采用这种类型的架构存在于一个连续体中,可通过数据库能力保持数据集同步,两阶段提交要确保事务中的所有内容更新,要么都成功,要么都没有成功。在状态管理里面,实时的、同步的解决方案比异步解决方案的需求少。

低延迟&流处理:如需非常快速地进行远距离移动数据,那么为低延时解决方案付出的额外成本是合理的。低延迟数据集成解决方案旨在减少事件的响应时间,可能包括使用像固态硬盘的硬件解决方案或使用内存数据库的软件解决方案,这样就不会因为读写传统磁盘而造成延迟。异步解决方案通常用于低延迟解决方案,这样事务在处理下一个数据之前不需要等待后续进程的确认。

复制:复制技术将分析和查询对主事务操作环境性能的影响降至最低。标准复制解决方案是准实时的,数据集的一个副本和另一个副本之间的更改有很小的延迟。如果数据更改动作发生在多个副本站点时,那么数据复制解决方案不是最佳的选择。

归档:使用归档存储来自正在推移的应用程序的数据以及来自长期未使用的生产系统的数据,可提高操作效率。

交互模型:交互模型描述了在系统间建立连接以传送数据的方式,主要包括点到点、中心辐射型、发布订阅型三种形式。

点到点(专用):共享数据系统之间的绝大多数交互都是“点对点”,他们直接相互传递数据。这个模型在以小组系统的上下文行得通。但当许多系统需要来自同一来源的相同数据时,它会很快变得效率低下并增加组织风险,如影响应用系统数据处理、增加管理接口难度、存在潜在不一致性。

中心辐射型(公用):中心辐射模型是点对点的替代方案,它将共享数据整合到应用程序可使用的一个中央数据中心(数据仓库、数据集市、文件交换中心等)。数据中心提供一致的数据视图,对数据源系统性能的影响有限。数据中心甚至最小化了必须访问的数据源系统和抽取的数量,从而减少对源系统资源的影响。EBS是用于在多个系统之间接近实时共享数据的数据集成解决方案,其数据中心是一个虚拟概念,代表组织中数据共享的标准和规范格式。

发布与订阅(按需用):发布和订阅模型涉及推送(发布)数据的系统和其他接收(订阅)数据的系统。当多个数据消费者需要特定格式的数据集时,集中开发该数据集并使用其对所有需要的人都可用,可确保所有参与者及时收到一致的数据集。

2.活动

数据集成和互操作涉及在什么时间、什么地点、以什么方式获取数据。数据集成活动遵循开发生命周期模型,从规划开始,经过设计、研发、测试和实施等过程。一旦实施,就必须对集成系统进行管理、监控和升级。

2.1规划和分析

定义数据集成和生命周期需求:定义数据集成需求涉及理解组织的业务目标,以及为实现这些目标而需要的数据和建议的技术方案。定义需求的过程可以创建并发现有价值的元数据,组织的元数据越完整和准确,其管理数据集成风险和成本的能力就越强。

执行数据探索:数据探索应该在设计之前进行。探索的目标是为数据集成工作确定潜在的数据来源。数据探索将确定可能获取数据的位置以及可能集成的位置。数据探索还包括针对数据质量的高级评估工作,以确定数据是否适合集成计划的目标。数据探索生成完善组织的数据目录。

记录数据血缘:数据是一个在组织中流动的信息,数据是如何被组织或创建的,它在组织中如何移动和变化以及如何被组织用于分析、决策或事件触发的。详细记录的数据血缘可包括根据哪些规则改变数据以及改变的频率。分析过程还可以提供改进现有数据流的机会。

剖析数据:理解数据的内容和结构是实现数据集成成功的关键。数据剖析有助于实现这一目标,基本剖析包括:

数据结构中定义的数据格式和从实际数据中推断出来的格式

数据的质量,包括null值、空或默认数据的级别

数据值以及它们与定义的有效值结合的紧密联系

数据集内部的模式和关系,如相关字段和基数规则

与其他数据集的关系

收集业务规则:收集业务规则是需求的一个关键子集,是定义或约束业务处理方面的语句。业务规则旨在维护业务结构、控制或影响业务行为。常见业务规则分为四大类,业务术语定义、相互关联的术语事实、约束或行为断言以及派生。

2.2设计数据集成解决方案

设计数据集成解决方案:数据集成解决方案应该在企业和单个解决方案两个层面上统筹考虑,解决方案体系结构表示将要使用的技术,它将包括所涉及数据结构的清单、数据流的编排和频率指示、法规、安全问题和补救措施以及有关备份和恢复、可用性和数据存档和保留。

选择交互模型:确定哪个交互模型或组合将满足需求-中心辐射型、点到点或发布订阅

设计数据服务或交换模式:闯进或重用现有的集成流来移动数据

数据建模中心、接口、消息、数据服务:数据集成和互操作中所需的数据结构包括数据持久化的数据结构,以及那些只是用于移动或转换数据的临时数据结构。这两种类型都应该建模。

映射数据源到目标:从源结构到目标结构的数据转换,做好从一个位置到另一个位置的数据格式转换规则,对于映射关系中的每个属性,映射规范如下:

指明源数据和目标数据的技术格式

指定源数据和目标数据之间所有中间暂存点所需的转换

描述最终或中间目标数据存储区中每个属性的填充方式

描述是否需要对数据值进行转换,如通过在表示适当目标值的表中查找源值

描述需要进行哪些计算

设计数据编排:数据流程编排是从开始到结束的数据流模式,包括完成转换和事务所需的所有中间步骤。批量数据集成的流程编排将设定数据移动和转换的频率。批量数据集成通常被编码为一个调度器,它会在某个时间、周期或在事件发生时被触发启动。实时数据集成流程编排通常由事件触发,如数据新增或更新。实时数据集成流程编排通常更复杂,通常需要跨越多个工具来实现,甚至可能都不是线性的过程。

2.3开发数据集成解决方案

开发数据服务:开发服务来获取、转换和交付指定的数据,并且匹配所选的交互模型,建议在整个组织中使用一致的工具或标准的供应商套件,并且可以通过启用共享支持解决方案来简化操作支持,并降低运营成本。

开发数据流编排:对集成或ETL数据流通通常会采用专用工具以特有方式进行开发。对批量数据流将在一个调度器中开发,以管理执行已开发的数据集成组件的顺序、频率和依赖关系等。开发实时数据集成流涉及监控事件,这些事件触发相应服务执行来获取、转换或发布数据。

制定数据迁移方案:当上线新的应用程序,或当应用程序退役或合并时,数据需要进行迁移这个过程涉及将数据转换为接收应用程序的格式。

制定发布方式:创建或维护关键数据的系统需要将这些数据提供给组织中的其他系统。生成数据的应用程序应该在数据更改或定期调度时,将新数据或更改后的数据推动到其他系统。

开发复杂事件处理流:开发复杂事件处理方案需要做以下几方面工作:

准备有关预测模型的个人、组织、产品或市场和迁移前的历史数据

处理实时数据流,充分填充预测模型、识别有意义的事件

根据预测执行触发的动作。

维护数据集成和互操作的元数据:可靠的元数据提高了组织管理风险、降低成本和从数据中获得更多价值的能力。记录所有系统的数据结构涉及源、目标和缓存的数据集成,包括业务定义和技术定义以及数据在持久化数据存储之间的转换。

2.4实施和监控

启用以开发并通过测试的数据服务时,对实时数据处理过程需要实时监测运行状况。应建立表示潜在问题的度量值以及直接反馈问题的机制,尤其是当触发响应的复杂性和风险增加时,应建立对反馈问题的自动化处理和人工监控流程。

3.工具

3.1数据转换引擎/ETL工具

无论是批量还是实时,物理或虚拟的数据都存在运用非常复杂的工具来开发和执行ETL。对于单一的点对点解决方案,数据集成过程通过自定义程序编码来实现。数据转换引擎选择的基本考虑应该包括是否需要运用批处理和实时功能,以及是否包括非结构化和结构化数据。常见的ETL工具包括Kettle、DataStage、Sqoop、Canal等,这些工具都有较强的场景适用性,如果业务场景较为特殊建议自行编码实现。

3.2数据虚拟化服务器

数据虚拟化服务器对数据进行虚拟抽取、转换和集成。数据虚拟化服务器可以将结构化数据和非结构化数据进行合并。

3.3企业服务总线(ESB)

ESB既指软件体系结构模型,又指一种面向消息的中间件,用于在同一组织内的异构数据存储、应用程序和服务器之间实现近乎实时的消息传递。在ESB中通过在各个环境中安装适配器或代理软件,在参与消息交换的各个系统上实现数据传入和传出的消息队列。

3.4业务规则引擎

许多数据集成解决方案依赖于业务规则,作为一种重要的元数据形式,这些规则可用于基本的集成,可用于包含复杂事件处理的解决方案中,以便于组织能够准确实时地相应这些事件。

3.5数据和流程建模工具

数据建模工具不仅用来设计目标数据结构,而且用来设计数据集成解决方案所需的中间数据结构。

3.6数据剖析工具

数据剖析包括对数据集的内容统一分析,以了解数据的格式、完整性、一致性、有效性和结构。

3.7元数据存储库

元数据存储库包含有关组织中的数据的信息,包括数据结构、内容以及用于管理数据的业务规则。在数据集成项目中,可以使用一个或多个元数据存储库来记录数据源、转换和目标的数据的技术结构和业务含义。

4.方法

基本目标是保持应用程序松散耦合,限制开发和管理接口的数量,使用中心辐射方法并创建标准规范的接口等。

5.实施指南

5.1就绪评估/风险评估

每个组织都有某种形式的数据集成和互操作方案。因此,就需评估/风险评估应该围绕企业集成工具实现或增强允许互操作性能来考虑。

企业数据集成解决方案的选择通常是基于多个系统之间实现集成的成本合理性。设计一个企业数据集成解决方案,不仅要实现第一个应用程序和组织的集成,而且能支持在多个应用程序和组织之间移动数据。

采用新技术的数据集成开发项目常常将实施重点放在技术上,而忽略了业务目标。必须确保实施数据集成解决方案应保持在关注业务目标和需求上,包括确保每个项目中的参与者都有面向业务或应用程序的人员,而不仅是在数据集成工具专家(要因地制宜,不要拿来主义)。

5.2组织文化变革

组织必须确定管理数据集成实施的是由集中管理的团队负责,或是在分散的应用程序团队负责。本地团队了解他们的应用程序中的数据,中心团队对工具和技术有深刻的理解。

6.数据集成和互操作治理

数据消息、数据模型和数据转换规则设计的决策,直接影响组织使用数据的额能力。这些决策必须由商业因素驱动。虽然实现业务规则时需要考虑很多技术因素,但是当数据流入、通过和留出组织时,单纯从技术角度考虑数据集成和共享的方法可能会导致数据映射和转换的错误。

业务利益相关方负责定义数据建模和转换规则,并应由他们批准对这些业务规则的任何改变,识别和验证预测模型以及定义预测自动触发的操作也属于业务功能。控制可能来自治理驱动的日程管理工作,例如:强制审查模型、审核元数据、控制可交付结果以及批准更改转换规则。

6.1数据共享协议

在开发接口或以电子方式提供数据之前,应制定一份数据共享协议或谅解备忘录。该协议规定了交换数据的责任和可接受的使用用途,并由相关数据的业务数据主管批准。数据共享协议应制定预期的数据使用和访问、使用的限制以及预期的服务级别,包括所需的系统启动时间和相应时间。

6.2数据集成和互操作与数据血缘

数据血缘对于数据集成和互操作解决方案的开发非常有价值,治理需要确保记录数据来源和数据移动的信息,数据共享协议可能规定了数据使用的限制。对数据流进行更改时需要数据血缘信息,必须将此信息作为元数据解决方案的关键部分进行管理。前向和后向数据血缘是数据结构、数据流或数据处理更改时进行影响分析的重要组成部分。

6.3度量指标

要衡量实现数据集成解决方案的规模和收益,包括可用性、数量、速度、成本和使用方面的指标。

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

四、思考与总结

数据集成和互操作是数据处理工作中最核心的部分,是整个数据工程落地的核心点。将数据从各原系统抽取到对应的数据集成中心中进行处理加工,经过一系列的格式转化、标准统一、逻辑处理之后得到标准通用的数据,以此提供给各个数据消费系统进行业务支持。常见的数据集成中心就是数据仓库和数据集市,常见的交互方式包括接口对接、表权限开放、文件交换等。
数据集成和互操作的整个过程涉及到数据源系统、数据集成中心、数据消费系统三大模块,对应的数据处理方式包含ETL和ELT两种选择,根据数据时效性需求的不同分为批处理和离线处理两种方式。选择合适的方式方法进行组织的数据管理和应用是一门富有技术含量的工作,需要我们对组织整体的业务需求、数据应用场景和应用方式都有比较深刻的理解才行。
在选择合适的方案之后,整个项目的管理将会是另一个难题。如何合并同类项,如何进行数据交互,点对点、中心化、订阅式?又是另一个问题。整个数据集成操作管理的过程不是一蹴而就的,是一个不断迭代优化的,需要在进行数据集成应用过程中进行监督、迭代,以契合组织整体目标的方式和节奏进行有序推进。

转载链接:https://mp.weixin.qq.com/s/RMdm9IcE6QNombiW2Gj25w

以上是关于(数据集成与互操作)的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2013 C++ 本机代码中与互锁操作的线程同步挂起

火山引擎DataLeap:揭秘字节跳动数据血缘架构演进之路

父子窗体返回值与互操作

数据治理中的数据血缘关系是什么?用来解决什么问题

全链路数据血缘在满帮的实践

全链路数据血缘在满帮的实践