在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

数据集成的演化:从 EII 到 Big Data

  • 2012-06-01
  • 本文字数:2926 字

    阅读完需:约 10 分钟

编者按:由 InfoQ 主办的全球架构师峰会将于2012 年8 月10 日-12 日在深圳举行,为了更好地诠释架构的意义、方法和实践,InfoQ 中文站近期会集中发布一批与架构相关的文章,本篇即为其中之一。InfoQ 也欢迎读者亲身参与到本次全球架构师峰会中,与来自国内外的顶尖架构师进行面对面的交流。报名参会请点击这里

“企业信息集成(EII):实用方式”于2005 年发布,描述了一套集成不同数据源的方法论,它利用了当时的先进技术,如面向服务架构(SOA)、Web Services、XML、资源描述架构(RDF)、基于XML 的元数据格式、数据提取、转换和加载(ETL)等。EII 基本能够为关系型数据元素提供统一视角,但在性能效率上还无法替代数据仓库和多维数据库。五年之后,技术已经得到了显著提升,不仅体现在对分散数据的操作上,还体现在简化了单一容器下不同数据的整合,以及对数据深入挖掘的能力上。

数据管理方式的技术正在向虚拟化转换,包括低成本存储、云计算、NoSQL 数据库以及Hadoop 等。当我们提起虚拟化时,已经远远超出为一台物理机器提供一套软件实例的概念。时至今日,我们可以对服务器、存储以及网络实现虚拟化。所有这些虚拟化意味着我们不再受这些物理条件的限制,能够迅速构建物理环境,以支持我们特定时刻的特定需求。当面对Gb、Tb、Pb 等级数据量的处理需求时,我们基本能摆脱结构化的数据仓库。我们不再需要仅仅为了发掘业务的某一方面而建立特殊的环境了。

低成本存储在业务的数据存储方面节省了开支。高昂的存储成本会使得企业寻找在有限规模的数据之上进行关键业务分析的方案,这使得如何选择最重要的数据变得十分关键,而且还限制了系统能够处理的数据的质量。负面影响是业务最终可能面临很少选择,因为无法提供足够的历史数据,从而识别一种有效关键模式。或者因为高昂的投入使得业务停止,而使用常规惯例来确定模式。

云计算提供了一种方式,可以满足需要通过海量数据源在合理时间范围内产生结果的需求。海量数据处理需要两点:弹性存储,CPU。高速网络很有帮助,但是稍后我们会看到,软件在处理海量数据时,它并非是系统的瓶颈。弹性存储意味着企业不会在期望操作的数据规模或类型上受到限制,从而降低了使用数据仓库无法获取最佳结果的风险。更多的CPU 使得结果能够在期望的时间范围内更快地被交付。

NoSQL 提供了对海量数据的支持,但与传统的关系型数据库没有关联。而且大部分 NoSQL 数据库是开源的,无须支付购买证书等费用。NoSQL 对于表结构有着惊人的灵活性,无须随着系统的改进而不断修改完善定义。NoSQL 可以支持不同数据源的合并查看,从而成为 EII 之后另一种备选方案,这或许是 NoSQL 最重要的方面了。

NoSQL 内置了数据冗余与分布式数据存储机制。海量数据的最大问题之一就是磁盘读写,NoSQL 通过将数据分布至一系列节点来缓解这个问题。当发出查询请求时,这些节点能够并行查询自身节点,而不是仅仅依靠一块磁盘,一个磁盘阵列或一条网络连接,数据查询能够在节省了读写开支之后变得更加迅速。

最终,我们来讨论 Hadoop,集合了上述所有技术力量于一身、用于检测和分析数据的框架。有些人可能认为 Hadoop 是一项 NoSQL 技术,实际上 Hadoop 是一个分布组件的 java 框架,用于分解“吃大象”(此处是双关语,Hadoop 是以创立者的儿子给自己的大象玩具起的名字)的工作——每次一口。

Hadoop 自身实际上与待处理数据是彼此独立的。它将大型查询任务分解为小的并行查询任务,然后收集结果,并整合出答案返回给用户。Hadoop 相对于 NoSQL 来说是一种并行查询框架,通过云计算驱动节点,运行在低成本存储及虚拟化技术之上。

Kickin 的知识回顾

EII 第一次作为最佳实践出现于 2003-2004 年,那是的关键要素就是无需再移动数据了。当时大部分的数据中心仍然运行于低速网络中,有限的空间用于复制数据。之后,EII 成为了当时可用技术和问题域中最优秀的解决方案。EII 的某些方面的优秀即使在海量数据中也是很显著的。

EII 的优点之一就是将处理过程转移到数据所在地。海量数据方案的关键架构要素之一就是将处理过程转移到数据所在地,而不是转移数据。EII 中的一条重要原则就是使用数据归属地的查询功能。这项实践就是构建靠近数据源网络的 Web Service,能够建立起通用查询接口,但只针对本地数据库进行查询。我们通过开放的基于 Web 的接口解决了数据的专有格式的问题,从而使得多个数据子集能够迅速的整合并以统一模式展示。

有了低成本存储和 10G 网络之后,我们就不必那么担心数据冗余与数据迁移,但还是有其他问题存在,数据仓库无法确保数据的原始性便是其中之一。在 EII 中,我们将从原始数据源获取数据视为“黄金准则”,这样就能够保证信息未被修改过,且是准确的。

Big Data 要求数据必须转移到新的物理位置,这样可信任度又成为了问题。EII 的那些获取基线数据的最佳实践仍然是相关且重要的。实际上,那些为 EII 设计开发的 Web Services 接口最终在 Big Data 的启用中扮演主要角色。

当然,讨论数据管理不能不涉及到安全问题。EII 在安全领域中还是超过了 Big Data。技术上来说,Big Data 在数据集成方面更加高效与敏捷,但是大部分缺少了固有的安全性,因为在设计上会加大处理的难度。所以,可能要由源系统来担任起数据访问安全方面的责任。因为 EII 直接在源系统中查询数据,所以必须要求有适当的授权,否则查询就将失败。

上述关于安全讨论描述的是内在的安全控制情况。将访问权限控制列表集成到数据库中非常合理,这将确保安全能够作为查询的一部分进行维护。然后,一旦能够直接查询 NoSQL 数据源,就意味着能够自由的访问你所有的数据。

总结

引用老的 Virginia Slims 的广告中的台词:“我们已经历很长的路途了,宝贝儿!”文中讨论到的技术的发展已经对 21 世纪第二个 10 年中的数据解决方案产生了巨大的影响。商业化与小型化扫除了一些思想体系上的障碍,使得架构师能够专注于问题本身,而不是寻找一些实用及可实现的问题解决方案。构建 10000 个节点的处理引擎,能够在数秒内处理 Pb 级别的数据量,而每小时只消耗几便士,这就是数据处理的美好前景。

有了这些新工具,我们就要重新考虑如何推进数据管理。为何数据无法很好地维护整合,并且需要花费数万美元。数据管理几乎是每个大中型企业的心病。数据管理曾经在存储、管理、访问、整合以及查询上花费巨大,但是今后不再会是这样了。

关于作者

JP Morgenthal 是在 IT 策略与云计算方面的世界级专家之一。他在企业复杂问题域的解决方案实施上拥有 25 年的经验。JP Morgenthal 以其在技术方面的深度和广度,有利的支持他在企业问题域中的敏感度。他在集成、软件开发和云计算是一位让人尊敬的作者,同时也是 InfoQ 在引领云计算方面的编辑,并且参与了“云计算:评估风险”项目。

关于译者

陈晨, 长期从事互联网信息收集分析领域架构研究。对海量数据处理,NoSQL 等处理运用有丰富经验,关注过程方法及其自动化。他的新浪微博:一酌散千忧

原文链接: Evolution in Data Integration From EII to Big Data


感谢侯伯薇对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012-06-01 00:005575

评论

发布
暂无评论
发现更多内容

Java中高级核心知识全面解析,Java大厂高级面试题灵魂100问

Java 程序员 后端

C语言:十进制、十六进制数据互换

不脱发的程序猿

C'语言 进制转换

linux网络包收发讲解

赖猫

Linux

Linux之lastb命令

入门小站

Linux

Element-UI 要怎么学?官方文档,阿里架构师深入讲解Java开发

JVM调优资料

Java 程序员 后端

找啊找啊找工长,找到一个好工长

escray

生活记录 9月日更

08. 语音识别与第二次AI热潮

Databri_AI

人工智能

AcWing 730,史上最全最精简的学习路线图

Geek_f90455

Java 程序员 后端

HDU1166 敌兵布阵【线段树,一个Java程序员的腾讯面试心得

JVM调优资料

Java 程序员 后端

Hystrix-服务容错处理:什么是Hystrix,Java最新实习面试经验总结

JVM调优资料

Java 程序员 后端

在线JSON转Mongoose工具

入门小站

工具

GC Roots面试,Java教程百度云盘

JVM调优资料

Java 程序员 后端

Java jdk下载安装与配置及其不同版本jdk切换,Java开发实战

JVM调优资料

Java 程序员 后端

java web 部分(1),Java技术总监面试常见问题及答案

Java 程序员 后端

LeetCode题解:143. 重排链表,数组,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

C语言:十进制、BCD码互换

不脱发的程序猿

C语言 十进制、BCD码互换

epoll底层实现源码及epoll反应堆模型

hanaper

java web 部分,Java教学视频百度云盘

Java 程序员 后端

Java中的注解到底是怎么一回事?,jvm原理面试题

Java 程序员 后端

LeetCode刷题13-简单-罗马数字转整数

ベ布小禅

9月日更

网络攻防学习笔记 Day123

穿过生命散发芬芳

9月日更 互联网安全 流量采集

Excelize 开源五周年 🎉

xuri

Excel Excel数据分析 Go 语言 Excelize

Dubbo—SPI及自适应扩展原理,劲爆

JVM调优资料

Java 程序员 后端

Java-进阶:多线程1,Java程序员必须掌握的技术

Java 程序员 后端

Java中高级核心知识全面解析,Java工程师需要掌握的技能

Java 程序员 后端

【LeetCode】所有奇数长度子数组的和Java题解

Albert

算法 LeetCode 9月日更

粗放生长时代结束,高精地图收紧灰色地带

脑极体

GC Roots面试(1),springmvc教程视频

JVM调优资料

Java 程序员 后端

hadoop,Java面试视频百度网盘

JVM调优资料

Java 程序员 后端

Java全面学习视频书籍,阿里架构师看到都觉得好,Java自学教程

Java 程序员 后端

HTTP系列之:HTTP缓存

程序那些事

缓存 Netty HTTP 程序那些事

数据集成的演化:从EII到Big Data_服务革新_JP Morgenthal_InfoQ精选文章