导图社区 DAMA-CDGA数据治理工程师-8.数据集成与互操作
数据集成与互操作描述了数据在不同数据存储、应用程序和组织这三者内部和之间进行移动和整合的相关过程。
编辑于2024-03-05 20:24:30不是因为新组织宣布成立或新系统实施上线就要变革,而是人们认识到变革带来的价值而发生行为变化时,变革就会发生。
随着数据领域的快速发展,组织需要改进管理和治理数据的方式,数据管理和数据治理组织需要足够灵活,才能在不断发展的环境中有效的工作,因此,它们需要澄清关于所有权、协作、职责和决策的基本问题。
能力成熟度评估是一种基于能力成熟度模型框架的能力提升方案,描述了数据管理能力初始状态发展到最优化的过程。当一个组织满足某阶段能力特征时,就可以评估其成熟度等级,并制定一个提高能力的计划。
社区模板帮助中心,点此进入>>
不是因为新组织宣布成立或新系统实施上线就要变革,而是人们认识到变革带来的价值而发生行为变化时,变革就会发生。
随着数据领域的快速发展,组织需要改进管理和治理数据的方式,数据管理和数据治理组织需要足够灵活,才能在不断发展的环境中有效的工作,因此,它们需要澄清关于所有权、协作、职责和决策的基本问题。
能力成熟度评估是一种基于能力成熟度模型框架的能力提升方案,描述了数据管理能力初始状态发展到最优化的过程。当一个组织满足某阶段能力特征时,就可以评估其成熟度等级,并制定一个提高能力的计划。
8.数据集成与互操作
引言
定义
数据集成与互操作
数据集成与互操作描述了数据在不同数据存储、应用程序和组织这三者内部和之间进行移动和整合的相关过程
数据集成
是将数据整合成物理的或者虚拟的一致格式
数据互操作
是多个系统之间进行通信的能力
对数仓、BI、主数据和参考数据至关重要
因为这些都关注数据从源系统转换和集成到数据中心、从数据中心到目标系统,最终交付至消费者
是大数据管理领域的核心
大数据旨在整合各种类型数据
包括存储在数据库中的结构化数据
存储在文档或文件中的非结构化文本数据
及其他类型的非结构化数据,如音频、视频、流媒体数据等
整合后进行挖掘、开发预测模型,并将其用于运营智能活动中
业务驱动因素
数据集成和互操作主要目的是为了对数据移动进行有效管理
对企业来说,管理数据集成的复杂性以及相关成本是建立数据集成架构的原因
管理数据集成的复杂性
企业级的数据集成设计远远比分散的或点对点的解决方案效率更高
在应用程序之间点对点的解决方案,可能产生出成千上万个接口,组织会迅速被拖垮
维护管理成本
在使用多种技术来移动数据时,每种技术都需要特定的开发和维护成本,会造成支撑成本增加
标准工具的应用可以降低维护和人力成本,提高故障排查工作的效率
目标和原则
目标
及时以数据消费者所需的格式提供数据
将数据物理的或虚拟的合并到数据中心
通过开发共享模型和接口来降低管理解决方案的成本和复杂性
识别有意义的事件,自动触发报警并采取行动
支持商务智能、数据分析、主数据管理以及运营效率的提升
原则
采用企业视角确保未来的可扩展性设计,通过迭代和增量交付实现
平衡本地数据需求和企业数据需求,包括支撑和维护
确保数据集成与互操作设计和活动的可靠性
基本概念
抽取、转换、加载
概述
1、ETL目标:进数仓,目标明确
2、结构化数据:进数仓
3、数据仓:最终目标是BI
数据集成和互操作的核心是抽取、转换和加载(ETL)这一基本过程
无论是在物理状态下或虚拟状态下,批量的或实时的执行ETL都是在应用程序和组织之间数据流动的必要步骤
作用
可以作为定期调度事件执行(批处理)
分析或表报需要的数据通常在批处理作业中
可以在有新数据或数据更新后执行(实时或事件驱动)
操作型数据处理往往是实时或准实时的
抽取
包括选择所需的数据并从其源数据中提取
然后被抽取的数据会在磁盘或内存中的物理数据存储库中进行存储
转换
就是让选定的数据与目标数据库的结构相兼容
格式变化
技术上的格式变换
如从EBCDIC到ASCII的格式转换
结构变化
数据结构的变化
从非规范化到规范化的记录
语义变化
数据值转换时保持语义的一致化表达
0、1、2、3→UNKNOWN、FEMALE、MALE、NOT PROVIDED
消除重复
如规则需要唯一的键值或记录,以确保包括扫描目标、检测和删除重复行的方法
重新排序
改变数据元素或记录的顺序以适应已定义的模式
可以批量执行,也可以实时执行
或是将转换结果存储在物理状态下的缓存区域
或是将转换后的数据存储在虚拟状态下的内存中
直到移动到加载步骤为止
加载
在目标系统中物理存储或呈现转换结果
抽取、加载、转换
概述
1、ELT目标:进数据湖,业务场景不明确
2、结构化数据、非结构化数据:均可进数据湖
3、数据湖:最终目标是AI
如果目标系统比源系统或中间应用系统有更强的转换能力,那么数据处理的顺序可以切换为ELT---抽取、加载、转换
ELT允许数据加载到目标系统后再进行转换
ELT允许源数据以原始数据的形式在目标系统上实例化,这对其他进程是有利的
用ELT的方式加载至数据湖,这在大数据环境中是常见的
映射
是转换的同义词,既是从源结构到目标结构建立查找矩阵的过程,也是该过程的结果
定义了要抽取的源数据与抽取数据的识别规则、要加载的目标与要更新的目标行的识别规则,以及要应用的转换或计算规则
时延
定义
指从源系统生成数据到目标系统可用该数据的时间差
不同的数据处理方法会导致不同程度的数据延迟
很高
批处理
较高
事件驱动
非常低
实时同步
批处理
数据在应用程序和组织之间以一批文件的形式移动,要么是根据数据使用者的人工请求,要么是按周期自动触发。这种类型的交互称为批处理或ETL
以批处理模式移动的数据将代表在给定时间点的全部数据
这组数据称为增量,而某一时刻的数据称为快照
对于批处理数据集成解决方案,在源中的数据更改和目标中的数据更新之间,通常会有明显的时延,从到导致高延迟
微批处理
批量数据集成可用于数据转换、迁移和归档以及从数据仓库和数据集市中抽取和加载数据
指使批处理的运行频率高于按每天更新的频率
时机
批处理的时机可能存在风险
为了尽量减少应用程序的更新问题,可以将数据移动安排在工作日的逻辑处理结束时或夜间对数据进行处理
变更数据捕获
是一种通过增加过滤来减少传送带宽需求的方法,只包含在特定时间范围内更改过的数据
变更数据捕获监视数据集的更改(插入、更改、删除),然后将这些更改(增量)传送给使用这些数据的其他数据集、应用程序和组织
作为变更数据捕获过程的一部分,对数据也可以用标记或时间戳等标识符来标记
变更数据捕获是可以基于数据的,也可以是基于日志的
基于数据
源系统填入特定的数据元素
例如,一个范围内的时间戳、代码、标志,它们都可以作为变更指示符
源系统进程在更改数据时被添加到一个简单的对象和标识列表,然后用于控制抽取数据的选择
源系统复制已经变化的数据
基于日志
数据库管理系统创建的数据活动日志被复制和处理,然后寻找将其转转换并应用到目标数据库的特定更改
准实时和事件驱动
大多数未采用批量方式的数据集成解决方案都是使用准实时或事件驱动的方式
数据在特定的时间表内是以较小的集合进行处理,或者在事件发生时处理,如数据更新
与批处理相比,准实时处理具有更低的延迟
且因为工作是随时间分布的,所以系统负载较低
但是,它通常比同步数据集成要慢一些
准实时数据集成解决方案通常是使用企业服务总线来实现
异步
在异步数据流中,提供数据的系统在继续处理之前不会等待接收系统确认更新
异步意味着发送或接收系统可能会在一段时间内离线,而另一个系统可以正常运行
异步数据集成不会阻塞源系统应用程序继续执行,也不会在任何目标应用程序不可用导致源应用程序不可用
由于在异步配置中对应用程序进行的数据更新不是及时更新的,所以称为准实时集成
实时,同步
有些情况下,源数据和目标数据之间不允许存在时间延迟或其他差异
当一个数据集的数据必须与另一个数据集的数据保持完美同步时,必须使用实时的同步解决方案
在同步集成解决方案中,执行过程中在执行下一个活动或事务之前需等待接收来自其他应用程序或进程的确认
因为必须花费时间等待数据同步的确认,所以这意味着解决方案只能处理更少的事务
如果任何需要更新数据的应用程序处于不可用的状态,那么应用程序中的事务就无法完成
低时延或流处理
低时延数据集成解决方案旨在减少事件的响应时间
使用固态磁盘
减少读写延迟
异步解决方案
通常用于低延迟解决方案,这样在处理下一个数据之前不需要等待后续进程的确认
大规模多处理器或并行处理
也是低延迟的一种常见配置
复制
考虑为世界各地的用户提供更好的响应时间,一些应用程序在多个物理位置上有维护数据集的精确副本
复制技术将分析和查询对主事务操作环境性能的影响降至最低
因此必须把物理上分布的各个数据集副本进行数据同步
复制解决方案
通常监视数据集的更改日志,而不是数据集本身
因为它们不会与应用程序竞争访问数据集,所有它们可以最大限度的减少对任何操作应用程序的影响
只有来自更改日志的数据在复制副本之间传送
标准复制解决方案是准实时的
当源数据集和目标数据集是彼此的精准副本时,复制工具的表现最佳
如果数据更改的动作发生在多个副本站点时,那么复制解决方案不是最佳的选择
归档
不经常使用的数据可以移动到组织成本较低的备用数据结构或存储方案中
ETL功能用于归档数据并可能将其转化为存档环境中的数据结构
监视归档技术非常重要,要确保技术发生改变时,数据依然可以被访问
企业消息格式/规范格式
KAFUKA
规范化的数据模型是组织或数据交换团队使用的通用模型,用于标准化数据共享格式
根据通用的或企业的规范消息格式将数据从发送系统转换到接收系统
规范化格式的使用降低了系统或组织之间数据转换量
每个系统只需要将数据转换为中央规范格式的数据,而不需要将数据转换为众多系统格式
交互模型
交互模型描述了在系统之间建立连接以传送数据的方式
点到点
共享数据系统之间的绝大多数交互都是“点对点”的,它们直接相互传递数据
这个模型在一小组系统的上下文中是行得通的
但是,当许多系统需要来自同一来源的相同数据时,它就会效率低下并增加组织风险
影响处理
如果源系统是操作型的,那么提供数据的工作量可能会影响交易处理
管理接口
点对点交互模型所需的接口数量接近系统数据的平方数
一旦建立了这些接口,就需要维护和支撑这些接口
管理和支撑系统之间接口的工作量很快就会大于系统本身的支持
潜在的不一致性
当多个系统需要不同的版本或数据格式时,就会出现设计问题
使用多个接口获取数据会导致发送给下游系统的数据不一致
中心辐射性
它将共享数据(物理或虚拟)整合到应用程序可以使用的一个中央数据中心
所有想交换数据的系统都时通过一个中央公共数据控制交换,而不是直接与其他系统(点对点)交换
数据仓库、数据集市、操作数据存储和主数据管理中心都是数据中心的最佳示范
数据中心提供一致的数据视图,对源系统性能的影响有限
向组合中添加系统,只需要构建到数据中心的接口
企业服务总线(ESB)是用于在多个系统之间接近实时共享数据的数据集成方案,其数据中心是一个虚拟概念,代表组织中数据共享的标准和规范格式
部分中心辐射型模型存在不可接收的时延或性能问题
数据中心本身在中心辐射型架构中存在创建开销
订阅与发布
发布与订阅模型涉及推广(发布)数据的系统和其他接受(订阅)数据的系统
在数据服务的目录中列出推送数据的系统,希望使用数据的系统订阅这些服务
在发布数据时,数据会自动发送给订阅用户
数据集成与互操作架构概念
应用耦合
耦合描述了两个系统交织的程度
紧耦合
两个紧密耦合的系统通常有一个同步接口,其中一个系统等待另一个系统的响应
代表了运营上的风险
如果一方不可用,那么实际上他们都不可用,并且两个系统的业务连续性计划必须保持一致
松耦合
是一种优选的接口设计
在系统之间传送数据不要等待响应,而且一个系统不可用时,不会导致另一个系统无法使用
可以使用服务、API或消息队列等各种技术实现松耦合
基于EBS的面向服务架构是松散耦合数据交互设计模式的一个示例
编排和流程控制
编排
用来描述在一个系统中如何组织和执行多个相关流程
所有处理消息或数据报的系统,必须能够管理这些流程的执行顺序,以保持一致性和连续性
流程控制
是确保数据的交付、调度、抽取和装载的准确和完整的组件
企业应用集成
在企业应用集成模型EAI中,软件模块之间仅通过定义良好的接口调用(应用程序编程接口API)进行交互
数据存储只能通过自己的软件模块更新,其他软件不能直接访问应用程序中的数据,只能通过定义的API访问
EAI是基于面向对象的概念,它强调重用和替换任何模块而不影响任何其他模块的能力
企业服务总线
它充当系统之间的中介,在它们之间传送消息
应用程序可以通过ESB现有的功能封装发送和接收的消息或文件
作为一个松散耦合的例子,ESB充当两个应用程序之间的服务角色
面向服务的架构
通过在应用程序之间定义良好的服务调用,可以提供推送数据或更新数据
应用程序不必与其他应用程序直接交互或了解其他应用程序的内部工作
支持应用程序的独立性和组织替换系统的能力,而无需对与之交互的系统进行重大更改
SOA的目标是在独立的软件模块之间定义良好的交互
每个模块可供其他软件模块或个人消费者执行功能(提供功能)
SOA的关键概念是提供了独立的服务:该服务没有调用应用程序的预先知识,服务的实现是调用应用程序的黑匣子
SOA可以通过Web服务、消息传送、API等多种技术实现
复杂事件处理
事件处理是一种跟踪和分析(处理)有关发生事件的信息流,并从中得出结论的方法
复杂事件处理指将多个来源的数据进行合并,通过识别出有意义的事件,为这些事件设置规则来指导事件处理及路由,进而预测行为或活动,并根据预测的结果自动触发实时响应
例如销售机会、Web点击、订单和客户电话等
复杂事件处理需要一个能够集成各种类型数据的环境
由于预测通常涉及大量各种类型的数据,所以复杂事件处理常常与大数据相关
复杂事件处理通常需要使用支持超低时延的技术,如处理实时流式数据和内存数据库
数据联邦和虚拟化
当数据存在于不同的数据存储库时,还可以通过除物理集成之外的方式来聚合
无论各自结构如何,数据联邦提供访问各个独立数据存储库组合的权限
数据虚拟化使分布式数据库以及多个异构数据存储能够作为单个数据库来访问和查看
数据即服务
软件即服务SaaS
是一种交付和许可模式
许可应用程序提供服务,但软件和数据位于软件供应商控制的数据中心,而不是获得许可组织的数据中心
提供不同层次的计算基础设施即服务(IT即服务IaaS、平台即服务PaaS、数据库即服务DBaaS)
数据即服务DaaS
从供应商处获得许可并按需由供应商提供数据,而不是存储和维护在被许可组织数据中心的数据
云化集成
在云计算之前,集成可以分为内部集成和企业间集成B2B
内部集成
通过内部中间件平台提供服务,通常使用服务总线ESB来管理系统之间的数据交换
企业间集成
通过电子数据交换EDI网关、增值网络VAN完成
云化集成
通常作为SaaS应用程序在供应商的数据中心运行,而不是在拥有被集成数据的组织中运行
数据交换标准
数据交互标准是数据元素结构的正式规则
交换模式定义了任何系统或组织交换数据所需的数据转换结构
数据需要映射到交换规范中
在系统之间达成一致的交换格式或数据布局可以大大简化企业中数据共享过程,从而降低支撑成本,并使工作人员更好理解数据
国家信息交换模型NIEM是在为美国政府机构之间交换文件和交易而开发的数据交换标准
活动
规划和分析
定义数据集成和生命周期需求
定义数据集成需求涉及理解组织的业务目标,以及为实现这些目标而需要的数据和建议的技术方案
还需要收集这些数据的相关法律或法规
定义需求的过程可以创建并发现有价值的元数据
组织的元数据越完整和准确,其管理数据集成风险和成本的能力就越强
执行数据探索
数据探索应该在设计之前进行
数据探索的目标是为数据集成工作确定潜在的数据来源
数据探索将确定可能获取数据的位置以及可能集成的位置
该过程将技术搜索与主题专业知识相结合,搜索技术会使用能够扫描组织数据集上元数据和实际内容的工具
数据探索还包括针对数据质量的高级别评估工作,以确定数据是否适合集成计划的目标
记录数据血缘
数据探索过程还将揭示数据是如何在一个组织中流动的信息
此信息可用于记录高级数据血缘:数据是如何被组织获取或创建的,它在组织中是如何移动和变化以及如何被组织用于分析、决策或事件触发的
详细记录的数据血缘可以包括根据哪些规则改变数据及其改变的频率
分析过程还可以提供改进现有数据流的机会
发现和消除这些低效率或无效的配置,可以极大的帮助项目的成功,并提升组织使用其数据的整体能力
剖析数据
理解数据的内容和结构是实现数据集成功的关键
数据剖析有助于实现这一目标
如果跳过数据剖析过程,那么有些影响设计的信息直到测试或实际操作之前都不会被发现
剖析的目标之一是评估数据的质量
与高级数据探索一样,数据剖析包括验证与实际数据相关的数据时假设
收集业务规则
业务规则是需求的一个关键子集,是定义或约束业务处理方面的语句
业务规则旨在维护业务结构、控制或影响业务的行为
设计数据集成解决方案
设计数据集成解决方案
数据集成解决方案应该在企业和单个解决方案两个层面上统筹考虑
建立企业标准可以让组织节省实施单个解决方案的时间
选择交互模型
中心辐射型、点到点、发布订阅
设计数据服务或交换模式
建模数据中心、接口、消息、数据服务
映射数据到目标
设计数据编排
开发数据集成解决方案
开发数据服务
开发数据流编排
制定数据迁徙方案
制定发布方式
开发复杂事件处理流
维护数据集成和互操作的元数据
实施和监测
工具
数据转换引擎/ETL工具
数据转换引擎(或ETL工具)是数据集成工具箱中的主要工具,是每个企业数据集成程序的核心
无论是批量的还是实时的,物理的或虚拟的数据都存在运用非常复杂的工具来开发和执行ETL
数据转换引擎选择的基本考虑应该包括是否需要运用批处理和实时功能,以及是否包括非结构化和结构化数据
目前最成熟的是用于结构化数据的批量处理工具
数据虚拟化服务器
数据转换引擎
对数据进行物理抽取、转换、加载
数据虚拟化服务器
对数据进行虚拟抽取、转换、集成
可以将结构化数据和非结构化数据合并
企业服务总线
既指软件体系结构模型,又指一种面向消息的中间件
用于在同一组织内的异步存储、应用程序和服务器之间实现几乎实时的消息传递
业务规则引擎
许多数据集成解决方案依赖于业务规则
作为一种重要的元数据形式,这些规则可用于基本的集成,也可以用于包含复杂事件处理的解决方案中,以便于组织能够准实时的响应这些事件
数据和流程建模工具
数据建模工具不仅用来设计目标数据结构,而且用来设计数据集成解决方案所需的中间数据结构
数据剖析工具
对数据集的内容进行统计分析,以了解数据的格式、一致性、有效性和结构
元数据存储库
存储包含有关组织中数据的信息,包括数据结构、内筒以及用于管理数据的业务规则
方法
保持应用程序松散耦合,限制开发和管理接口数量,使用中心辐射型方法并创建标准规范的接口
实施指南
就绪评估/风险评估
组织和文化变革
数据集成和互操作治理
数据共享协议
规定了交换数据的责任和可接受的使用用途,并由相关数据的业务数据主管批准
数据集成和互操作与数据血缘
度量指标
数据可用性
数据量和速度
解决方案成本和复杂度