武汉的开发者们注意啦!AI技术战略、框架以及最佳实战尽在Azure OpenAI Day 了解详情
写点什么

数据集成的演化:从 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 )关注我们,并与我们的编辑和其他读者朋友交流。

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2012-06-01 00:004852

评论

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

Chrome操作指南——入门篇(十五)monitor

Augus

Chrome开发者工具 9月月更

前端动效讲解与实战

vivo互联网技术

前端 SVG 动效

太强了!阿里p8大佬干了半个月总结的《Alibaba分布式系统速成笔记》正式开源

Geek_0c76c3

Java 数据库 开源 程序员 架构

基于 Apache Hudi 极致查询优化的探索实践

华为云开发者联盟

大数据 后端 华为云 企业号九月金秋榜

N1盒子openwrt+dogcom实现大学校园网的自动登录开启路由

知识浅谈

9月月更

react hook 源码完全解读

flyzz177

React

《DevOps工具链的国产化之道》直播报名开始啦!

嘉为蓝鲸

DevOps IT 工具链 研发

第九期-模块一

wuli洋

大厂前端面试考什么?

loveX001

JavaScript 前端

react面试应该准备哪些题目

beifeng1996

前端 React

监控平台SkyWalking9入门实践

Java 架构 Skywalking

docker的/var/run/docker.sock参数

程序员欣宸

Docker Docker 镜像 9月月更

故障转移和恢复

源字节1号

软件开发 后端开发

数据中台架构概述

穿过生命散发芬芳

数据中台 9月月更

大数据ELK(四):Lucene的美文搜索案例

Lansonli

9月月更 EKL

2022前端面试官经常会考什么

beifeng1996

前端 React

这些js手写题你能回答上来几道

helloworld1024fd

JavaScript 前端

Chrome操作指南——入门篇(十四)drawer

Augus

Chrome开发者工具 9月月更

Python基础(五) | 函数及面向过程编程详解

timerring

Python Monad 9月月更

【算法实践】手把手带你简单实现希尔排序

迷彩

算法 排序算法 希尔排序 算法实践 9月月更

如何准备vue相关的知识点

bb_xiaxia1998

Vue 前端

20道常被问到的JavaScript题目

helloworld1024fd

JavaScript 前端

React Context源码是怎么实现的呢

flyzz177

React

【荣耀帐号服务】手把手教你快速Android应用接入

荣耀开发者服务平台

开发者 服务 安卓 应用 honor

2022-09-25:给定一个二维数组matrix,数组中的每个元素代表一棵树的高度。 你可以选定连续的若干行组成防风带,防风带每一列的防风高度为这一列的最大值 防风带整体的防风高度为,所有列防风高度

福大大架构师每日一题

算法 rust 福大大

详解JS中 call 方法的实现

华为云开发者联盟

Java 前端 企业号九月金秋榜

Javaweb核心响应对象

楠羽

笔记 Java核心笔记 9月月更

Linux安装minikube指南

程序员欣宸

Kubernetes minikube 9月月更

总结了一下前端高频面试题的答案

loveX001

JavaScript 前端

MFC|实现自定义复选框效果

中国好公民st

c++ 控件 9月月更

Vue入门指北——modifier

Augus

Chrome开发者工具 9月月更

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