实时数据集成

企业应用集成

面向服务的体系结构 (SOA) 目前应该是一个很受欢迎的名词,中间件技术人员几乎到了言必称SOA的程度,数据集成当然也不例外,在Oracle openworld2008大会上,就推出了一堆数据集成的专场演讲,其中和SOA结合最紧密的就是实时数据集成 real time data integration。我总结了一下,实时数据集成一般分为两个处理过程:一是对数据按照SOA架构的需要进行整合加工形成可用的信息,二是将信息以符 合SOA规范的方式发布出去。具体的实时数据集成模式可以按照对这两个处理过程的设计分为以下四种:

1.       在中间件层上进行数据的加工整合,同时通过中间件层的标准接口将整合后的数据以标准接口发布。

2.       数据源层负责数据的加工处理,然后将整合后的数据以标准的接口发布到中间件层,由中间件层负责数据的访问。

3.       将分散在数据层的数据先整合到ODS或者数据仓库中进行整合加工,然后再将加工整理后的数据以标准接口发布到中间件层。

4.       采用数据网格的方式将数据层的数据整合在中间层,形成数据网格,中间件负责数据的加工,整合,然后以标准的方式发布出去。

我们先看第一种模式,数据集成发生在中间件层,数据发布也发生在中间件层,如下图所示:

在中间层上存在一个虚拟的数据服务层,该层通过JDBC,FILE 适配器、应用适配器等与数据层的各种数据源实现连接,将数据源中的各种数据实体映射成中间件的虚拟数据层的表,虚拟数据层中的表都只有元数据,而不存储实 际的生产数据。用户可以在虚拟数据层上采用可视化图形界面定义数据映射关系,进行数据加工整合,这些数据加工逻辑一般会以文件或者数据库方式存储。定义好 的数据可以通过web service,JDBC,数据对象等多种方式发布出去。当用户通过中间件访问虚拟数据层的数据时,虚拟数据层会根据系统定义的逻辑首先将需要加工的细节 数据从各个数据源抽取到虚拟数据层,然后中间件根据设计时的数据加工逻辑对其进行加工,最后中间件将加工好的数据以调用接口要求的格式返回。

采用虚拟数据服务层的优势为:

1.       处理都在中间件服务器上,相对来讲,对数据的处理会比较灵活,应用和底层的数据实现松耦合。

2.       当一个请求涉及到多个底层数据源时,对底层的数据访问可以采用并发方式进行。

3.       借助中间件的灵活性,数据可以采用多种方式对外提供接口,从而大大方便各种应用的开发。

4.       所有的数据都是实时从数据源取来,保证数据的时效性。

问题:

数据的处理在中间件层进行,一是带来从数据源到中间件层的数据传输,二是中间件一般都是J2EE架构,其强项并不是数据处理,在数据量不大时并无大碍,当数据量非常大时,其实现机制就注定了效率会出现问题。

第二种模式的实现方法为:数据源层负责数据的加工处理,然后将整合后的数据以标准的接口发布到中间件层,中间件层只负责数据的接入访问,如下图所示:

这种处理方式一般是数据库厂商或者ETL厂商推荐的方式,根据用户的业务需求逻辑,首先在数据源层通过ETL工具设计数据转化流程,然后将流程的转化逻辑发布成web服务,同时将转化后的数据也发布成web服务,然后将这些服务注册到中间件层,当前端用户需要数据服务时,它需要调用两个web服务,第一个是转化web服务,该web服务调用相应的ETL工具对数据进行整合加工,然后将整合的数据存储在临时表中。第二个服务是调用数据服务,直接从临时表中取出加工后的数据,与第一种模式的区别在于,它将数据的加工处理放在了数据源层,其优势在于:

1.       ETL工具天生就是做数据整合的,而且适合大数据量的整合,所以针对大数据量效率会非常高。

2.       在数据源层整合可以充分利用数据库的处理能力,毕竟数据库才是做数据处理的行家。

3.       依靠E-LT工具的变化数据捕捉功能,可以进行增量数据的处理。

4.       数据转化和数据获取松耦合,可以实现异步处理。

该模式的问题在于:

1.       由于数据的加工处理依赖于数据库的处理能力,因此在所有的数据源中,必须有一个为关系型数据库系统,而第一种模式由中间件负责数据处理,数据源没有限制。

2.       在应用的流程设计中,需要调用两次WEB服务,一次为转化,一次为取数据读取,数据量非常小的情况下,有点画蛇添足的味道。

第三种模式其实是前两种模式的组合,但其数据集成是基于数据仓库的概念发展演化而来,象现在很多企业单位正在建的ODS系统。如下图:

为了保证为企业提供一个全局的数据视图,我们可以通过建立一个全局的操作型数据库ODS(operational data storage),该数据库与企业内的其它数据源通过变化数据捕捉(change data capture)方式保持实时同步,当数据源内的数据发生变化时,CDC会捕捉到变化的数据并通过ETL工具或者其它手段(如主数据管理工具)同步到ODS数据库中。ODS数库内存储的数据可以分为三层,如下图所示:

接口数据层:主要负责接收从各个实时系统收集到的临时变化数据。

统一模型层:针对企业共享数据的要求建立的企业级统一数据模型,接口数据层的数据通过加工整合然后进入统一模型层。统一模型层是ODS对外提供数据供应的主要数据源

汇总数据层:根据用户的业务需要,在ODS上 建立一些统计、汇总,提供一些全局的数据报表。从接口层到统一模型层以及从统一模型层到汇总层数据都可以采用异步的方式完成,很多企业目前采用的方式是从 接口层到统一模型层采用准实时的方式完成,而从统一模型层到汇总层一般在晚上或者其它时间窗口完成,一方面避免对生产系统的影响,另一方面也可以充分利用 机器的处理能力,当客户需要访问一些汇总数据时,可以从汇总表直接取已经汇总好的数据,从而加快系统的响应时间。

最后一点就是数据的发布格式,在该模式中,中间件层负责数据的接入访问,ODS里的数据可以封装成WEB服务发布在中间件层。当前端业务流程需要集成的数据时,可以直接访问ODS内的数据,如果数据集成比较复杂,我们可以根据用户的业务需要,通过ETL工具或者其它工具(第二种模式)对统一模型层的数据进行加工放到汇总数据层,然后再从汇总数据层访问数据。

第四种模式是采用数据网格的技术来实现实时数据集成,它和第一种方式非常相似,数据的整合加工和发布都在中间件层上,唯一不同的是我们采用数据网格技术在中间层增加了一层对象缓存层,如下图示:

数据的整合加工和访 问接入都发生在中间件层,当客户端访问数据时,所有的流程方式都和第一种模式没什么区别,但需要访问的数据都通过数据网格层缓存在了中间件层,因此减少了 数据源访问和网络传输的时间,访问速度会大大加快,从而可以在一定程度上解决第一种模式的不足,但数据处理仍然发生在中间件层,如果中间件处理能力有限, 系统的效率还会受到局限。

在这里需要说明的是数据网格并不是专门来做数据集成的,从上面的示意图中我们也可以看到,数据集成只是数据网格的一个副产品而已,关于数据网格的定义及功能,我们会在其它文章中解释。

该模式的优势:

1.       系统扩展性好,数据网格层的扩展性决定了整个系统的扩展性。

2.       当机器的处理能力不足时,通过集群方式可以大大提高性能。

3.       真正实现了前台数据与后台数据源的松耦合。数据网格负责与各种后台数据源的交互。

问题

1.       中间件层数据的加工整理过程仍然存在。

2.       如果应用已经上线,需要针对数据网格提供的接口修改应用。

总结

以上四个模式各有自己的应用范围,从总体上看,数据的处理越靠近底层,效率越高,灵活性越差;越往上走,效率越低(网络传输和J2EE语言的擅长点不在数据处理),灵活性越好;其实各种数据集成模式无所谓好坏,关键是看业务需求,只要能够满足业务需求就够了。

时间: 2024-08-28 09:28:27

实时数据集成的相关文章

Oracle 数据集成的实际解决方案

就针对市场与企业的发展的需求,Oracle公司提供了一个相对统一的关于企业级的实时数据解决方案,即Oracle数据集成的解决方案.以下的文章主要是对其解决方案的具体描述,望你会有所收获. Oracle 数据集成解决方案 Oracle数据集成解决方案用于在SOA.BI和数据仓库环境中构建.部署和管理以实时数据为中心的架构,包含了Oracle数据集成的所有要素--实时数据移动.转换.同步.数据质量.数据管理和数据服务--能确保各个复杂系统的信息及时.准确.一致. 通过使用Oracle数据集成,企业将

数据集成之主数据管理(一)基础概念篇

数据集成是当下比較热门的话题,相关的产品和平台也越来越多.非常多CIO都在各种数据集成平台和产品之间犹豫不决.因此对数据集成平台的框架体系有全面的理解,对各个厂家产品所提供的功能有深入的认识才干为数据平台选型的决策提供可靠的保证. 我有幸參与了国内一个知名企业的集成平台的设计工作,并主导了数据集成平台的需求分析和产品选型工作.这次工作中,研究了非常多新的技术方向和产品,以下我主要讲一下数据集成领域的一种新兴的产品平台主数据管理平台MDM(Master Data Management). 主数据的

数据集成工具Teiid Designer的环境搭建

由于实验室项目要求的关系,看了些数据汇聚工具 Teiid 的相关知识.这里总结下 Teiid 的可视化配置工具 Teiid Designer 的部署过程. 背景知识 数据集成是把不同来源.格式.特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享.数据集成的方式多种多样,这里介绍的 Teiid 是其中的一种:通过抽象和联邦技术,实现分布式数据源的实时数据访问和集成,无需从记录系统中复制或移动数据. <Teiid 基于数据联邦的集成方案>是一篇关于 Teiid 的中文介绍,比较

大数据管理:数据集成的技术、方法与最佳实践 读书笔记三

7.1 什么是数据仓库 数据仓库是基于特定的数据结构(以及有关应用程序)所构建的数据的中央存储库,以便为分析和报表提供 一致的数据源.面向整个组织创建的企业数据仓库(Enterprise Data Warehouse,EDW)用于对整个组织的信息 进行分析.大多数情况下,超大型组织中会有多个企业级数据仓库,每个都拥有组织中某个很大组成部分的数 据,如某个区域,或者很大的功能域.批处理数据集成方案通常用于将数据置入或者移出数据仓库.数据仓库架 构的设计要达到以下目的:为整个组织的分析提供一致可用的

澜讯 | 大数据赋能金融,宁波银行携数澜打造实时数据平台

近日,宁波银行签约数澜科技,双方将共同打造「实时数据平台」,通过引入实时计算来加工.处理和分析数据,从而高效的挖掘到数据价值. 宁波银行成立于 1997 年,2007 年成为国内首家在深圳证券交易所挂牌上市的城市商业银行(股票代码:002142).目前拥有 12 家分行,327 家营业网点,已经发展成为一家资本净额超 930 亿元,总资产超 10000 亿元,员工人数超 1.5 万人的区域性股份制上市银行,跻身全球前 200 家银行之列. 随着银行业务往线上.移动化集中,诸如反欺诈.事件式客户营

袋鼠云数据中台专栏2.0 | 数据中台之数据集成

关于袋鼠云数据中台专栏V2.0 数据中台如何定义?企业数据化与数据中台的关系是什么?数据中台如何支撑企业战略转型?袋鼠云近两年来,先后为国内数十家大型龙头企业提供数据中台咨询与实施落地服务,积累了大量的实战经验,同时也在为客户服务的过程中,不断完善和升华自身的数据中台理论体系和实践方法论.希望通过后续文章的分享,与诸位读者交流,共同加快企业全面数据化进程.本专栏每周更新1-2篇,敬请期待~ 数据中台之数据集成 1 在现代企业中,由于使用场景.业务形态.技术选型.开发架构的差异,往往有多个异构的.

如何设计实时数据平台(设计篇)

我抽数故我存在 | DBus 人人玩转流处理 | Wormhole 就当吾是数据库 | Moonbox 颜值最后十公里 | Davinci 导读:实时数据平台(RTDP,Real-time Data Platform)是一个重要且常见的大数据基础设施平台.在上篇(设计篇)中,我们从现代数仓架构角度和典型数据处理角度介绍了RTDP,并探讨了RTDP的整体设计架构.本文作为下篇(技术篇),则是从技术角度入手,介绍RTDP的技术选型和相关组件,探讨适用不同应用场景的相关模式.RTDP的敏捷之路就此展开

关于云开发新服务“实时数据推送”,你需要了解的全在这了!

"微信小程序工程师邓坤力带你了解如何利用千呼万唤始出来的云开发实时数据推送服务打造生动的小程序和小游戏!" 在数据库在小程序·云开发中的应用一文中,我们了解到实时数据推送作为云开发即将上线的一项新能力,主要指客户端使用官方SDK发起socket连接建立对一个集合的监听,目标集合中如果有符合过滤条件的数据发生变更,将会直接推送到建立监听的客户端. 简单来说,使用实时数据推送可以更有效率的拉取数据,帮你把你的应用变成实时有状态,场景会非常有用,比如可以用来做弹幕,做实时排名更新,做实时刷新

这些传统数据集成的痛,你还在经历吗?

20多天后,我们将步入2020年.在即将过去的2019年,人工智能.5G.数字货币等技术不断冲击着传统的数据治理模式,你所在的企业是否同样感受到了冲击?在这些难以言说的痛中间,又有多少是传统数据集成所带来的? 今年,随着数据驱动决策的理念逐渐深入人心,越来越多的企业开始逐步对存量的数据资产进行消费,在数据消费过程中引入各种数据集成的工具,来解决数据打通的问题,并用于后端数据消费:如分析报表.数据查询.和数据挖掘等工作. 大数据时代的到来,不仅意味着数据来源更加广泛,数据存储量增加,同时对于数据及