大数据管理概念技术与挑战

时间:2024.4.5

大数据管理:概念、技术与挑战

孟小峰   慈 祥 (中国人民大学信息学院 北京 100872)

摘 要 云计算、物联网、社交网络等新兴服务促使人类社会的数据种类和规模正以前所未有的速度增 长,大数据时代正式到来.数据从简单的处理对象开始转变为一种基础性资源,如何更好地管理和利用 大数据已经成为普遍关注的话题.大数据的规模效应给数据存储、管理以及数据分析带来了极大的挑 战,数据管理方式上的变革正在酝酿和发生.对大数据的基本概念进行剖析,并对大数据的主要应用作 简单对比.在此基础上,阐述大数据处理的基本框架,并就云计算技术对于大数据时代数据管理所产生 的作用进行分析.最后归纳总结大数据时代所面临的新挑战. 关键词 大数据;数据分析;云计算 中图法分类号 TP311

  随着以博客、社交网络、基于位置的服务LBS 为代表的新型信息发布方式的不断涌现,以及云计 算、物联网等技术的兴起,数据正以前所未有的速度 在不断地增长和累积,大数据时代已经来到.学术 界、工业界甚至于政府机构都已经开始密切关注大 数据问题,并对其产生浓厚的兴趣.就学术界而言, 《 Nature》早在2008年就推出了Bi g Data专刊[ 1].计 算社区联盟(Computing Communit y Consortium) 在2008年发表了报告“Bi g data   computing:Creating revolutionar y breakthroughs   in commerce,science,

and societ y” [ 2],阐述了在数据驱动的研究背景下, 解决大数据问题所需的技术以及面临的一些挑战. 《 Science》在2011年2月推出专刊“Dealing with Data” [ 3],主要围绕着科学研究中大数据的问题展 开讨论,说明大数据对于科学研究的重要性.美国 一些知名的数据管理领域的专家学者则从专业的研 究角度出发,联合发布了一份白皮书《Challenges and  Opportunities with Bi g Data》 [ 4].该白皮书从学 术的角度出发介绍了大数据的产生,分析了大数据 的处理流程,并提出大数据所面临的若干挑战全球知名的咨询公司麦肯锡(McKinsey)2011 年6月份发布了一份关于大数据的详尽报告“Bi g data:The next  frontier  for  innovation,competition, and  productivit y” [ 5],对大数据的影响、关键技术和 应用领域等都进行了详尽的分析.进入2012年以 来,大数据的关注度与日俱增.1月份的达沃斯世界 经济论坛上,大数据是主题之一,该次会议还特别针 对大数据发布了报告“Bi g data,bi g   impact:New possibilities   for   international   development” [ 6],探讨 了新的数据产生方式下,如何更好地利用数据来产 生良好的社会效益.该报告重点关注了个人产生的 移动数据与其他数据的融合与利用.3月份美国奥 巴马政府发布了“大数据研究和发展倡议” [ 7](Bi g data   research and development   initiative),投资2亿 以上美元,正式启动“大数据发展计划”.计划在科 学研究、环境、生物医学等领域利用大数据技术进 行突破.奥巴马政府的这一计划被视为美国政府 继信息高速公路(Information Hi ghwa y)计划之后 在信息科学领域的又一重大举措.与此同时,联合 国一个名为“Global   Pulse”的倡议项目在今年5月 发布报告“Bi g data   for development:Challenges  & opportunities” [ 8],该报告主要阐述大数据时代各国 特别是发展中国家在面临数据洪流(data deluge)的 情况下所遇到的机遇与挑战,同时还对大数据的应 用进行了初步的解读.《纽约时报》的文章“The   age of   bi g data” [ 9]则通过主流媒体的宣传使普通民众开 始意识到大数据的存在,以及大数据对于人们日常 生活的影响. 大数据的火热并不意味着对于大数据的了解深 入,反而表明大数据存在过度炒作的危险.大数据的 基本概念、关键技术以及对其利用上均存在很多的 疑问和争议.本文从大数据问题背后的本质出发,对 现有的大数据研究资料进行全面的归纳和总结.首 先简要介绍大数据的基本概念,阐述其同传统数据 库的区别.在此基础上,对大数据处理框架进行详细 解析.我们认为大数据的发展离不开云计算技术,云 计算支撑着大数据存储、管理以及数据分析等.因此 本文展开介绍了大数据时代不可或缺的云计算技术 和工具.最后全面阐述大数据时代面临的新挑战.

1 大数据的基本概念、来源与应用

1.1 大数据的基本概念 大数据本身是一个比较抽象的概念,单从字面

来看,它表示数据规模的庞大.但是仅仅数量上的庞 大显然无法看出大数据这一概念和以往的“海量数 据”(massive data)、“超大规模数据”(ver y  lar ge data)等概念之间有何区别.对于大数据尚未有一个 公认的定义,不同的定义基本是从大数据的特征出 发,通过这些特征的阐述和归纳试图给出其定义.在 这些定义中,比较有代表性的是3V定义[10],即认为 大数据需满足3个特点:规模性(volume)、多样性 ( variet y)和高速性(velocit y).除此之外,还有提出 4V定义的,即尝试在3V的基础上增加一个新的特 性.关于第4个 V 的说法并不统一,国际数据公司 ( International Data Cor poration,IDC)认为大数据 还应当具有价值性(value) [ 11],大数据的价值往往呈 现出稀疏性的特点.而IBM 认为大数据必然具有真 实性(veracit y) [ 12].维基百科对大数据的定义[13]则 简单明了:大数据是指利用常用软件工具捕获、管理 和处理数据所耗时间超过可容忍时间的数据集. 眼下在大数据定义问题上很难达成一个完全的 共识,这点和云计算的概念刚提出时的情况是相似 的.在面对实际问题时,不必过度地拘泥于具体的定 义之中,在把握3V定义的基础上适当地考虑4V特 性即可. 1.2 从数据库(database,DB)到大数据(bi g data, BD) 从数据库到大数据,看似只是一个简单的技术 演进,但细细考究不难发现两者有着本质上的差别. 大数据的出现必将颠覆传统的数据管理方式.在数 据来源、数据处理方式和数据思维等方面都会对其 带来革命性的变化. 如果要用简单的方式来比较传统的数据库和大 数据的区别,我们认为“池塘捕鱼”和“大海捕鱼”是 个很好的类比.“池塘捕鱼”代表着传统数据库时代 的数据管理方式,而“大海捕鱼”则对应着大数据时 代的数据管理方式,“鱼”是待处理的数据.“捕鱼”环 境条件的变化导致了“捕鱼”方式的根本性差异.这 些差异主要体现在如下几个方面: 1)数据规模.“池塘”和“大海”最容易发现的区 别就是规模.“池塘”规模相对较小,即便是先前认为 比较大的“池塘”,譬如 VLDB(ver y   lar g e database), 和“大海”XLDB(extremel y   lar g e database)相比仍旧偏 小. “池塘”的处理对象通常以 MB为基本单位,而“大 海”则常常以GB,甚至是TB,PB为基本处理单位. 2)数据类型.过去的“池塘”中,数据的种类单 一,往往仅仅有一种或少数几种,这些数据又以结构

化数据为主.而在“大海”中数据的种类繁多,数以千 计,而这些数据又包含着结构化、半结构化以及非结 构化的数据,并且半结构化和非结构化数据所占份 额越来越大. 3)模式(schema)和数据的关系.传统的数据库 都是先有模式,然后才会产生数据.这就好比是先选 好合适的“池塘”,然后才会向其中投放适合在该“池 塘”环境生长的“鱼”.而大数据时代很多情况下难以 预先确定模式,模式只有在数据出现之后才能确定, 且模式随着数据量的增长处于不断的演变之中.这 就好比先有少量的鱼类,随着时间推移,鱼的种类和 数量都在不断地增长.鱼的变化会使大海的成分和 环境处于不断的变化之中. 4)处理对象.在“池塘”中捕鱼,“鱼”仅仅是其 捕捞对象.而在“大海”中,“鱼”除了是捕捞对象之 外,还可以通过某些“鱼”的存在来判断其他种类的 “鱼”是否存在.也就是说传统数据库中数据仅作为 处理对象.而在大数据时代,要将数据作为一种资源 来辅助解决其他诸多领域的问题. 5)处理工具.捕捞“池塘”中的“鱼”,一种渔网 或少数几种基本就可以应对,也就是所谓的 One

size   fits   all.但是在“大海”中,不可能存在一种渔网 能够捕获所有的鱼类,也就是说No size   fits   all. 从“池塘”到“大海”不仅仅是规模的变大.传统 的数据库代表着数据工程(data   engineering)的处理 方式,大数据时代的数据已不仅仅只是工程处理的

对象,需要采取新的数据思维来应对.图灵奖获得 者、著名数据库专家Jim Gray博士观察并总结人类 自古以来,在科学研究上,先后历经了实验、理论和 计算3种范式.当数据量不断增长和累积到今天,传 统的3种范式在科学研究,特别是一些新的研究领 域已经无法很好地发挥作用,需要有一种全新的第 4种范式来指导新形势下的科学研究.基于这种考 虑,Jim Gray提出了一种新的数据探索型研究方 式,被他自己称之为科学研究的“第4种范式”(The Fourth Paradi gm) [ 14]. 4种范式的比较如表1[14]所示.第4种范式的 实质就是从以计算为中心转变到以数据处理为中 心,也就是我们所说的数据思维.这种方式需要我们 从根本上转变思维.正如前面提到的“捕鱼”,在大数 据时代,数据不再仅仅是“捕捞”的对象,而应当转变 成一种基础资源,用数据这种资源来协同解决其他 诸多领域的问题.计算社会科学(computational   social science) [ 15]基于特定社会需求,在特定的社会理论 指导下,收集、整理和分析数据足迹(data  print),以 便进行社会解释、监控、预测与规划的过程和活动. 计算社会科学是一种典型的需要采用第4种范式来 作指导的科学研究领域.Watts在《Nature》杂志上的 文章“ A twent y - first   centur y science” [ 16]也指出,借 助于社交网络和计算机分析技术,21世纪的社会科 学有可能实现定量化的研究,从而成为一门真正的 自然科学.

Table   1 Four   Science Paradi gms 表1 科学发现的4种范式

Science Paradi gms  Time  Methodology

Empirical  Thousand  years   ago  Describing natural   phenomena

Theoretical  Last   few hundred  years  Using models,generalizations

Computational  Last   few decades  Simulating complex  phenomena

Data Exploration ( eScience)

Today

Data   captured  by   instruments or   generated  by simulator;Processed  by software;

Information stored   in computer;Scientist   anal y zes database

1.3 大数据的产生和应用 人类历史上从未有哪个时代和今天一样产生如 此海量的数据.数据的产生已经完全不受时间、地点 的限制.从开始采用数据库作为数据管理的主要方 式开始,人类社会的数据产生方式大致经历了3个 阶段,而正是数据产生方式的巨大变化才最终导致 大数据的产生. 1)运营式系统阶段.数据库的出现使得数据管

理的复杂度大大降低,实际中数据库大都为运营系 统所采用,作为运营系统的数据管理子系统,比如超 市的销售记录系统、银行的交易记录系统、医院病人 的医疗记录等.人类社会数据量第1次大的飞跃正 是建立在运营式系统开始广泛使用数据库.这个阶 段最主要特点是数据往往伴随着一定的运营活动而 产生并记录在数据库中,比如超市每销售出一件产 品就会在数据库中产生相应的一条销售记录.这种

数据的产生方式是被动的. 2)用户原创内容阶段.互联网的诞生促使人类 社会数据量出现第2次大的飞跃.但是真正的数据 爆发产生于 Web 2.0时代,而 Web 2.0的最重要标 志就是用户原创内容(user   g enerated content,UGC). 这类数据近几年一直呈现爆炸性的增长,主要有两 方面的原因:首先是以博客、微博为代表的新型社交 网络的出现和快速发展,使得用户产生数据的意愿 更加强烈;其次就是以智能手机、平板电脑为代表的 新型移动设备的出现,这些易携带、全天候接入网络 的移动设备使得人们在网上发表自己意见的途径更 为便捷,这个阶段数据的产生方式是主动的. 3)感知式系统阶段.人类社会数据量第3次大 的飞跃最终导致了大数据的产生,今天我们正处于 这个阶段.这次飞跃的根本原因在于感知式系统的

广泛使用.随着技术的发展,人们已经有能力制造极 其微小的带有处理功能的传感器,并开始将这些设 备广泛地布置于社会的各个角落,通过这些设备来 对整个社会的运转进行监控.这些设备会源源不断 地产生新数据,这种数据的产生方式是自动的. 简单来说,数据产生经历了被动、主动和自动3 个阶段.这些被动、主动和自动的数据共同构成了大 数据的数据来源,但其中自动式的数据才是大数据 产生的最根本原因. 正如 Google的首席经济学家 Hal Varian所 说[17],数据是广泛可用的,所缺乏的是从中提取出 知识的能力.数据收集的根本目的是根据需求从数 据中提取有用的知识,并将其应用到具体的领域之 中.不同领域的大数据应用有不同的特点,表2列举 了若干具有代表性的大数据应用及其特征:

Table   2 Comparison between  Typical   Bi g Data  Applications 表2 典型大数据应用的比较

Applications  Examples  Number   of Users  Response Time  Data Scale  Reliabilit y  Accurac y

Scientific Computing  Bioinformatics  Small   Slow  TB  Moderate  Ver y Hi gh

Finance  Hi gh - fre quenc y   trading  Lar ge  Ver y Fast  GB  Ver y Hi gh  Ver y Hi gh

Social   network  Facebook  Ver y Lar ge  Fast  PB  Hi gh  Hi gh

Mobile Data  Mobile  phone  Ver y Lar ge  Fast  TB  Hi gh  Hi gh

Internet   of Things  Sensor network  Lar ge  Fast  TB  Hi gh  Hi gh

Web Data  News website  Ver y Lar ge  Fast  PB  Hi gh  Hi gh

Multimedia  Video site  Ver y Lar ge  Fast  PB  Hi gh  Moderate

  正是由于大数据的广泛存在才使得大数据问题 的解决很具挑战性.而它的广泛应用则促使越来越 多的人开始关注和研究大数据问题.

2 大数据处理框架

2.1 大数据处理模式 大数据的应用类型有很多,主要的处理模式可 以分为流处理(stream  processing)和批处理(batch processing)两 种[18 -19].批处理是先存储后处理 ( store - then -process),而流处理则是直接处理 ( strai ght - through  processing). 2.1.1 流处理 流处理的基本理念是数据的价值会随着时间的 流逝而不断减少,因此尽可能快地对最新的数据作 出分析并给出结果是所有流数据处理模式的共同目 标.需要采用流数据处理的大数据应用场景主要有

网页点击数的实时统计、传感器网络、金融中的高频 交易等. 流处理的处理模式将数据视为流,源源不断的 数据组成了数据流.当新的数据到来时就立刻处理 并返回所需的结果.图1[18]是流处理中基本的数据 流模型:

Fi g.1 Basic data   stream model. 图1 基本的数据流模型 数据的实时处理是一个很有挑战性的工作,数 据流本身具有持续达到、速度快且规模巨大等特点, 因此通常不会对所有的数据进行永久化存储,而且

数据环境处在不断的变化之中,系统很难准确掌握 整个数据的全貌. 由于响应时间的要求,流处理的过程基本在内 存中完成,其处理方式更多地依赖于在内存中设计 巧妙的概要数据结构( synopsis data   structure),内 存容量是限制流处理模型的一个主要瓶颈.以PCM (相变存储器)为代表的储存级内存(storage   class memor y,SCM)设备的出现或许可以使内存未来不 再成为流处理模型的制约.

数据流的理论及技术研究已经有十几年的历 史,目前仍旧是研究热点.与此同时很多实际系统也 已开发和得到广泛的应用,比较代表性的开源系统 如Twitter的Storm[20]、Yahoo的S4[21]以及Linkedin 的 Kafka[22]等. 2.1.2 批处理 Google公司在2004年提出的 MapReduce [ 23] 编程模型是最具代表性的批处理模式.一个完整的 MapReduce过程如图2[23]所示:

Fi g.2 Execution overview of MapReduce. 图2 MapReduce执行流程图   MapReduce模型首先将用户的原始数据源进 行分块,然后分别交给不同的 Ma p任务区处理.Ma p 任务从输入中解析出链?值(Key ?Value)对集合,然 后对这些集合执行用户自行定义的 Map函数得到 中间结果,并将该结果写入本地硬盘.Reduce任务 从硬盘上读取数据之后会根据key值进行排序,将 具有相同 Key值的组织在一起.最后用户自定义的 Reduce函数会作用于这些排好序的结果并输出最 终结果. 从 MapReduce 的处理过程我们可以看出, MapReduce的核心设计思想在于: 1)将问题分而治 之; 2)把计算推到数据而不是把数据推到计算,有效 地避免数据传输过程中产生的大量通信开销. MapReduce模型简单,且现实中很多问题都可用 MapReduce模型来表示.因此该模型公开后立刻受 到极大的关注,并在生物信息学、文本挖掘等领域得 到广泛的应用. 无论是流处理还是批处理都是大数据处理的可 行思路.大数据的应用类型很多,在实际的大数据处 理中,常常并不是简单地只使用其中的某一种,而是 将二者结合起来.互联网是大数据最重要的来源之 一,很多互联网公司根据处理时间的要求将自己的 业务划分为在线(online)、近线(nearline)和离线 ( offline),比如著名的职业社交网站Linkedin[24],这 种划分方式是按处理所耗时间来划分的.其中在线 的处理时间一般在秒级甚至是毫秒级,因此通常采用 上面所说的流处理.离线的处理时间可以以天为基 本单位,基本采用批处理方式,这种方式可以最大限 度地利用系统I ?O.近线的处理时间一般在分钟级或 者是小时级,对其处理模型并没有特别的要求,可以 根据需求灵活选择,但在实际中多采用批处理模式. 2.2 大数据处理的基本流程 大数据的数据来源广泛,应用需求和数据类型 都不尽相同,但是最基本的处理流程一致.海量 Web 数据的处理是一类非常典型的大数据应用,从中可以 归纳出大数据处理的最基本流程.ScholarSpace [ 25] 由中国人民大学网络与移动数据管理实验室 (WAMDM)开发,目标是建立一个“以人为本”,即

150 计算机研究与发展 2013,50( 1)

以作者为中心来展示多学科中文文献的集成数据库 系统.该系统已经从最初的计算机领域扩展到包括 经济、法律等人文社会科学在内的多领域,从数据抽

取和集成,一直到最终的结果展示,ScholarSpace完 整地体现出大数据处理的一般流程.在其基础上我 们归纳出大数据的基本流程,如图3所示:

Fi g.3 Basic   framework of   bi g data  p rocessing. 图3 大数据处理基本流程   整个大数据的处理流程可以定义为在合适工具 的辅助下,对广泛异构的数据源进行抽取和集成,结 果按照一定的标准统一存储.利用合适的数据分析 技术对存储的数据进行分析,从中提取有益的知识 并利用恰当的方式将结果展现给终端用户.具体来说 可以分为数据抽取与集成、数据分析以及数据解释. 2.2.1 数据抽取与集成 大数据的一个重要特点就是多样性,这就意味 着数据来源极其广泛,数据类型极为繁杂,这种复杂 的数据环境给大数据的处理带来极大的挑战.要想 处理大数据,首先必须对所需数据源的数据进行抽 取和集成,从中提取出关系和实体,经过关联和聚合 之后采用统一定义的结构来存储这些数据.在数据 集成和提取时需要对数据进行清洗,保证数据质量 及可信性.同时还要特别注意前面提及的大数据时 代模式和数据的关系,大数据时代的数据往往是先有 数据再有模式,且模式是在不断的动态演化之中的. 数据抽取和集成技术不是一项全新的技术,传 统数据库领域已对此问题有了比较成熟的研究.随 着新的数据源的涌现,数据集成方法也在不断的发 展之中.从数据集成模型来看,现有的数据抽取与集 成方式可以大致分为以下4种类型[26]:基于物化或 ETL方法的引擎(materialization or ETL engine)、基 于联邦数据库或中间件方法的引擎(federation engine or mediator)、基于数据流方法的引擎(stream engine) 及基于搜索引擎的方法(search engine). 2.2.2 数据分析 数据分析是整个大数据处理流程的核心,因为 大数据的价值产生于分析过程.从异构数据源抽取 和集成的数据构成了数据分析的原始数据.根据不 同应用的需求可以从这些数据中选择全部或部分进 行分析.传统的分析技术如数据挖掘、机器学习、统 计分析等在大数据时代需要作出调整,因为这些技 术在大数据时代面临着一些新的挑战,主要有:

151孟小峰等 :大数据管理:概念、技术与挑战

1)数据量大并不一定意味着数据价值的增加, 相反这往往意味着数据噪音的增多.因此在数据分 析之前必须进行数据清洗等预处理工作,但是预处 理如此大量的数据对于机器硬件以及算法都是严峻 的考验. 2)大数据时代的算法需要进行调整.首先大数 据的应用常常具有实时性的特点,算法的准确率不 再是大数据应用的最主要指标.很多场景中算法需 要在处理的实时性和准确率之间取得一个平衡,比 如在线的机器学习算法(online machine   learning); 其次云计算是进行大数据处理的有力工具,这就要 求很多算法必须作出调整以适应云计算的框架,算 法需要变得具有可扩展性;最后在选择算法处理大 数据时必须谨慎,当数据量增长到一定规模以后,可 以从小量数据中挖掘出有效信息的算法并一定适用 于大数据.统计学中的邦弗朗尼原理(Bonferronis princi p le) [ 27]① 就是一个典型的例子. 3)数据结果好坏的衡量.得到分析结果并不 难,但是结果好坏的衡量却是大数据时代数据分析 的新挑战.大数据时代的数据量大、类型庞杂,进行 分析时往往对整个数据的分布特点掌握的不太清 楚,这会导致最后在设计衡量的方法以及指标时遇 到诸多困难. 大数据分析已被广泛应用于诸多领域,典型的 有推荐系统、商业智能、决策支持等. 2.2.3 数据解释 数据分析是大数据处理的核心,但是用户往往 更关心结果的展示.如果分析的结果正确但是没有 采用适当的解释方法,则所得到的结果很可能让用 户难以理解,极端情况下甚至会误导用户.数据解释 的方法很多,比较传统的就是以文本形式输出结果 或者直接在电脑终端上显示结果.这种方法在面对 小数据量时是一种很好的选择.但是大数据时代的 数据分析结果往往也是海量的,同时结果之间的关 联关系极其复杂,采用传统的解释方法基本不可行. 可以考虑从下面两个方面提升数据解释能力. 1)引入可视化技术.可视化作为解释大量数据 最有效的手段之一率先被科学与工程计算领域采 用.通过对分析结果的可视化用形象的方式向用户 展示结果,而且图形化的方式比文字更易理解和接 受.常见的可视化技术有标签云( tag cloud)、历史流

( histor y  flow)、空间信息流 ( spatial  information flow)等.可以根据具体的应用需要选择合适的可视 化技术. 2)让用户能够在一定程度上了解和参与具体 的分析过程.这个既可以采用人机交互技术,利用交 互式的数据分析过程来引导用户逐步地进行分析, 使得用户在得到结果的同时更好地理解分析结果的 由来.也可以采用数据起源技术[28],通过该技术可 以帮助追溯整个数据分析的过程,有助于用户理解 结果.

3 关键技术分析

大数据价值的完整体现需要多种技术的协同. 文件系统提供最底层存储能力的支持.为了便于数 据管理,需要在文件系统之上建立数据库系统.通过 索引等的构建,对外提供高效的数据查询等常用功 能.最终通过数据分析技术从数据库中的大数据提 取出有益的知识. 3.1 云计算:大数据的基础平台与支撑技术 如果将各种大数据的应用比作一辆辆“汽车”, 支撑起这些“汽车”运行的“高速公路”就是云计算. 正是云计算技术在数据存储、管理与分析等方面的 支撑,才使得大数据有用武之地. 在所有的“高速公路”中,Google无疑是技术最 为先进的一个.需求推动创新,面对海量的 Web数 据,Google于2006年首先提出了云计算的概念.支 撑 Google内部各种大数据应用的正是其自行研发 的一系列云计算技术和工具.难能可贵的是 Google 并未将这些技术完全封闭,而是以论文的形式逐步 公开其实现.正是这些公开的论文,使得以 GFS, MapReduce,Bi g table为代表的一系列大数据处理 技术被广泛了解并得到应用,同时还催生出以 Hadoop[29]为代表的一系列云计算开源工具.云计 算所涉及到的技术很多,但是通过Google云计算技 术的介绍能够快速、完整地把握云计算技术的核心 和精髓.本节以 Google的相关技术介绍为主线,详 细介绍 Google以及其他众多学者和研究机构在大 数据技术方面已有的一些工作.根据Google已公开 的论文及相关资料,结合大数据处理的需求,我们对 Google的技术演化进行了整理,如图4② 所示:

 ① 邦弗朗尼原理表明并非给定数据集和挖掘任务就肯定能挖掘出合理的结果。具体内容见文献[27].  ② 上面所列的系统绝大部分都已经有论文公布其大致实现,虽然Colossus和Caffeine系统并没有论文公开,但是可以确定其存在.图4中 所列时间如无特别标明,均为论文发表时间,并不代表其在 Google内部的正式部署和使用时间.

152 计算机研究与发展 2013,50( 1)

Fi g.4 Technology evolution   in Google. 图4 Google技术演化图

3.1.1 文件系统 文件系统是支撑上层应用的基础.在Google之 前,尚未有哪个公司面对过如此多的海量数据.因此 对于 Google而言并没有完全成熟的存储方案可以 直接使用.Google认为系统组件失败是一种常态而 不是异常,基于此思想 Google自行设计开发了 Google文件系统GFS[30](Google   file   system).GFS 是构建在大量廉价服务器之上的一个可扩展的分布 式文件系统,GFS主要针对文件较大,且读远大于 写的应用场景,采用主从(Master -Slave)结构.通过 数据分块、追加更新( append -onl y)等方式实现了海 量数据的高效存储.随着时间推移,GFS的架构逐 渐开始无法适应需求.Google对 GFS进行了重新 的设计,该系统正式的名称为Colosuss,具体实现尚 未公开,但是从 ACM 对 GFS团队核心工程师的访 谈[31]可以了解其一些新的特性.其中 GFS的单点 故障(指仅有一个主节点容易成为系统的瓶颈)、海 量小文件的存储等问题在 Colosuss中均得到了 解决. 除了Google,众多企业和学者也从不同方面对 满足大数据存储需求的文件系统进行了详尽的研 究.微软自行开发的Cosmos [ 32]支撑着其搜索、广告 等业务.HDFS[33]和 CloudStore [ 34]都是模仿 GFS 的开源实现.GFS类的文件系统主要是针对较大文 件设计的,而在图片存储等应用场景,文件系统主要 存储海量小文件,此时GFS等文件系统因为频繁读 取元 数 据 等 原 因,效 率 很 低.针 对 这 种 情 况, Facebook推出了专门针对海量小文件的文件系统 Haystack[35],通过多个逻辑文件共享同一个物理文 件、增加缓存层、部分元数据加载到内存等方式有效

地解决了Facebook海量图片存储问题.淘宝推出了 类似的文件系统 TFS[36](Tao   file   system),通过将 小文件合并成大文件、文件名隐含部分元数据等方 式实现了海量小文件的高效存储.FastDFS[37]针对 小文件的优化类似于TFS. 3.1.2 数据库系统 原始的数据存储在文件系统之中,但是用户习 惯通过数据库系统来存取文件.因为这样会屏蔽掉 底层的细节,且方便数据管理.直接采用关系模型的 分布式数据库并不能适应大数据时代的数据存储, 主要因为: 1)规模效应所带来的压力.大数据时代的数据 量远远超过单机所能容纳的数据量,因此必须采用 分布式存储的方式.这就需要系统具有很好的扩展 性,但这恰恰是传统数据库的弱势之一.因为传统的 数据库产品对于性能的扩展更倾向于scale -up(纵 向扩展)的方式,而这种方式对于性能的增加速度远 低于需要处理数据的增长速度,且性能提升存在上 限.适应大数据的数据库系统应当具有良好的

scale -out(横向扩展)能力,而这种性能扩展方式恰 恰是传统数据库所不具备的.即便是性能最好的并 行数据库产品其scale -out能力也相对有限. 2)数据类型的多样化.传统的数据库比较适合 结构化数据的存储,但是数据的多样性是大数据时 代的显著特征之一.这也就是意味着除了结构化数 据,半结构化和非结构化数据也将是大数据时代的 重要数据类型组成部分.如何高效地处理多种数据类 型是大数据时代数据库技术面临的重要挑战之一. 3)设计理念的冲突.关系数据库追求的是“One

size   fits   all”的目标,希望将用户从繁杂的数据管理

153孟小峰等 :大数据管理:概念、技术与挑战

中解脱出来,在面对不同的问题时不需要重新考虑 数据管理问题,从而可以将重心转向其他的部分.但 在大数据时代不同的应用领域在数据类型、数据处 理方式以及数据处理时间的要求上有极大的差异. 在实际的处理中几乎不可能有一种统一的数据存储 方式能够应对所有场景.比如对于海量 Web数据的 处理就不可能和天文图像数据采取同样的处理方 式.在这种情况下,很多公司开始尝试从“One   size fits   one”和“One   size   fits domain”的设计理念出发 来研究新的数据管理方式,并产生了一系列非常有 代表性的工作. 4)数据库事务特性.众所周知关系数据库中事 务的正确执行必须满足 ACID 特性,即原子性 ( atomicit y)、一致性(consistenc y)、隔离性(isolation) 和持久性(durabilit y).对于数据强一致性的严格要 求使其在很多大数据场景中无法应用.这种情况下 出现了新的 BASE 特性,即只要求满足 basicall y available(基 本 可 用),soft  state(柔 性 状 态)和 eventuall y consistent(最终一致).从分布式领域著 名的CAP理论[38]① 的角度来看,ACID追求一致性 C,而BASE更加关注可用性 A.正是在事务处理过 程中对于 ACID特性的严格要求,使得关系型数据 库的可扩展性极其有限. 面对这些挑战,以 Google为代表的一批技术公

司纷纷推出了自己的解决方案.Bi g table [ 39]是 Google 早期开发的数据库系统,它是一个多维稀疏排序表, 由行和列组成,每个存储单元都有一个时间戳,形成 三维结构.不同的时间对同一个数据单元的多个 操作形成数据的多个版本之间由时间戳来区分. 除了 Bi g table,Amazon的 Dynamo[40]和 Yahoo的 PNUTS[41]也都是非常具有代表性的系统.Dynamo 综合使用了键?值存储、改进的分布式哈希表(DHT)、 向量时钟(vector   clock)等技术实现了一个完全的 分布式、去中心化的高可用系统.PNUTS是一个分 布式的数据库,在设计上使用弱一致性来达到高可 用性的目标,主要的服务对象是相对较小的记录,比 如在线的大量单个记录或者小范围记录集合的读和 写访问.不适合存储大文件、流媒体等.Bi g table, Dynamo,PNUTS等的成功促使人们开始对关系数 据库进行反思,由此产生了一批未采用关系模型的 数据库,这些方案现在被统一称为NoSQL(not   onl y SQL).NoSQL并没有一个准确的定义,但一般认为 NoSQL数据库应当具有以下的特征[42]:模式自由 ( schema - free)、支 持 简 易 备 份 (easy  replication support)、简单的应用程序接口(simple API)、最终 一致性(或者说支持BASE特性,不支持 ACID)、支 持海量数据(huge   amount   of   data).NoSQL和关系 型数据库的简单比较如表3所示:

 ① CAP理论指出:一个分布式系统不可能同时满足一致性、可用性(availabilit y)和分区容错性( partition   tolerance),最多只能同时满足其中 两个.

Table   3 Comparison between NoSQL Database   and RDBMS 表3 NoSQL数据库和关系数据库的对比

Ob j ects of Comparison  RDBMS  NoSQL  Notes

Rationale  Perfect   Imperfect  RDBMS   is based on mathematical model;NoSQL has no such model.

Data Scale  Lar ge  Extremel y Lar ge

Performance of RDBMS will   degrade   as   the data   increase,so   its usuall y not appropriate   for  extremel y  lar ge data;NoSQL can  increase  the volume of storage  by adding more devices.

Schema  Fixed  Flexible  RDBMS must   define   schema   at   first;NoSQL   is   schema - free.

Quer y  Fast

Simple  quer y is   efficient

RDBMS will   build   index,so   it   can well   support   point   quer y and   range  quer y; NoSQL has no   index,although   the  quer y  p rocessing can be   accelerated  by MapReduce,it   is   still   less   efficient.

Consistenc y  Strong consistenc y  Weak consistenc y RDBMS obey ACID;NoSQL obey BASE.

Scalabilit y  Moderate  Good  RDBMS   is difficult   to scale;NoSQL can easil y scale out   by adding new nodes.

Availabilit y  Good  Ver y Good

Availabilit y of RDBMS   is   relativel y weak when   the volume of   data   is ver y lar ge because of  its  limitation of  strong consistenc y;NoSQL can achieve better   availabilit y  by   relaxing ACID semantics.

Standard  Yes  No  RDBMS has   standard(SQL);NoSQL has no such standard.

Technical   Support  Hi gh  Low  Technical   support   for RDBMS   is  hi gh;Technical   support   for NoSQL   is   low.

Maintenance  Complex  Complex

RDBMS should be maintained  by DBA;NoSQL   is not   sophisticated now,so its maintenance   is   also difficult.

154 计算机研究与发展 2013,50( 1)

  典型的 NoSQL数据库分类如表4[43]所示:

Table   4 Typical NoSQL Databases 表4 典型NoSQL数据库

Categor y  Matching Databases  Performance  Scalabilit y  Flexibilit y  Complexit y  Advantages  Disadvantages

Key -Value

Redis Riak

Hi gh  Hi gh  Hi gh  None  Quer y   is   efficient

Stored data   lack structure

Column

HBase Cassandra

Hi gh  Hi gh  Moderate  Low  Quer y   is   efficient

Functionalit y is minimal

Document

CouchDB MongoDB

Hi gh  Variable  Hi gh  Low

Little   limits on data   structure

Performance of quer y   is   low

Graph

Neo4J OrientDB

Variable  Variable  Hi gh  Hi gh

Graph al gorithms are   sophisticated

Data   scale   is relativel y   low

  Bi g table的模型简单,但是相较传统的关系数 据库其支持的功能非常有限,不支持 ACID特性.因 此Google开发了 Megastore [ 44]系统,虽然其底层数 据存储依赖 Bi g table,但是它实现了类似 RDBMS 的数据模型,同时提供数据的强一致性解决方案. Megastore将数据进行细粒度的分区,数据更新会 在机 房 间 进 行 同 步 复 制.Spanner [ 45]是 已 知 的 Google的最新的数据库系统,Google在 OSDI2012 上公开了Spanner的实现.Spanner是第1个可以 实现全球规模扩展( g lobal   scale)并且支持外部一致 的事务 (support  externall y - consistent  distributed transactions)的数据库.通过 GPS 和 原 子 时 钟 ( atomic   clocks)技术,Spanner实现了一个时间 API.借助该 API,数据中心之间的时间同步能够精 确到10ms以内.Spanner类似于 Bi g table,但是它 具有层次性的目录结构以及细粒度的数据复制.对 于数据中心之间不同操作会分别支持强一致性或弱 一致性,且支持更多的自动操作.Spanner的目标是 控制100万到1 000万台服务器,最多包含大约10 万亿目录和1 000万亿字节的存储空间.另外在 SIGMOD2012上,Google公开了用于其广告系统的 新数据库产品F1[46],作为一种混合型数据库F1融 合兼有Bi g table的高扩展性以及SQL数据库的可 用性 和 功 能 性.该 产 品 的 底 层 存 储 正 是 采 用 Spanner,具有很多新的特性,包括全局分布式、同步 跨数据中心复制、可视分片和数据移动、常规事务等. 有些比较激进的观点认为“关系数据库已死”, 我们认为关系数据库和 NoSQL并不是矛盾的对立 体,而是可以相互补充的、适用于不同应用场景的技 术.例如实际的互联网系统往往都是ACID 和 BASE两种系统的结合.近些年来,以Spanner为代 表的若干新型数据库的出现,给数据存储带来了

SQL,NoSQL之外的新思路.这种融合了一致性和 可用性的 NewSQL或许会是未来大数据存储新的 发展方向. 3.1.3 索引与查询技术 数据查询是数据库最重要的应用之一,而索引 则是解决数据查询问题的有效方案.就Google自身 而言,索引的构建是提供搜索服务的关键部分. Google最早的索引系统是利用 Ma pReduce来更新 的.根据更新频率进行层次划分,不同的层次对应不 同的更新频率.每次需要批量更新索引,即使有些数 据并未改变也需要处理掉.这种索引更新方式效率较 低.随后 Google提出了Percolator [ 47],这是一种增量 式的索引更新器,每次更新不需要替换所有的索引数 据,效率大大提高.虽然不是所有的大数据应用都需 要索引,但是这种增量计算的思想非常值得我们借 鉴.Google当前正在使用的索引系统为Caffeine [ 48], 其具体实现尚未公布.但是可以确定 Caffeine是构 建在Spanner之上,采用Percolator更新索引.效率 相较上一代索引系统而言有大幅度提高. 关系数据库也是利用对数据构建索引的方式较 好地解决了数据查询的问题.不同的索引方案使得 关系数据库可以满足不同场景的要求.索引的建立 以及更新都会耗费较多的时间,在面对传统数据库 的小数据量时这些时间和其所带来的查询便利性相 比是可以接受的,但是这些复杂的索引方案基本无 法直接应用到大数据之上.表5[49]是对一些索引方 案直接应用在Facebook上的性能估计. 从表5可以看出不太可能将已有的成熟索引方 案直接应用于大数据.NoSQL数据库针对主键的查 询效率一般较高,因此有关的研究集中在NoSQL 数据库的多值查询优化上.针对 NoSQL数据库上 的查询优化研究主要有两种思路:

155孟小峰等 :大数据管理:概念、技术与挑战

Table   5 Quer y   Index Examples 表5 查询索引的案例

Al gorithms   Index Size   for Facebook   Index Time   for Facebook  Quer y Time on Facebook ? s

Ullmann - - >1 000

VF2 - - >1 000

RDF - 3X 1TB >20d >48

BitMat   2.4TB >20d >269

Subdue - >67years -

SpiderMine - >3years - R

- Join >175TB >1015 years >200

Distance - Join >175TB >1015 years >4 000

GraphQL >13TB( r =2) >600years >2 000

Zhao >12TB( r =2) >600years >600

GADDI >2×10 5 TB( L =4) >4×10 5 years >400

  1)采用 MapReduce并行技术优化多值查询: 当利用 MapReduce并行查询 NoSQL数据库时,每 个 MapTask处理一部分的查询操作,通过实现多个 部分之间的并行查询来提高多值查询的效率.此时

每个部分的内部仍旧需要进行数据的全扫描. 2)采用索引技术优化多值查询:很多的研究工 作尝试从添加多维索引的角度来加速NoSQL数据库 的查询速度. 表6列举了已有的一些解决方案的对比.

Table   6 Comparison between Multi p le Fields  Quer y Using   Index 表6 采用索引加速多值查询的方案对比

Types of   indexes  Advantages  Disadvantages  Examples

Multi p le one -dimensional   Indexes

Achievement   and maintenance   are   eas y

Less   efficient multidimensional   quer y and hi gh  space   redundanc y

ITHbase IHbase CCIndex

As ynchronous views

Multidimensional   Index  Good scalabilit y

Achievement   and maintenance of index are   complex

RT-CAN QT-Chord EMINC A-Tree

Spatial   Index

Hi gh write   throughput   and low cost   of maintenance

Consistenc y maintenance   is   complex

MD-HBase UQE - Index

    ITHbase [ 50],IHbase [ 51],CCIndex[52] 和

As ynchronous   views [ 53]是典型的采用多个一维二 级索引来加速多值查询优化的实现方案.其中 ITHbase 和 IHbase 是 两 个 开 源 的 实 现 方 案, ITHbase主要关注于数据一致性,事务性是其重要 特性.IHbase与ITHbase类似,从 HBase源码级别 进行了扩展,重新定义和实现了Server,Client端处 理逻辑.CCIndex(complemental   clustering   index) 是中国科学院提出的另外一种索引结构,它在索引 中既存储索引项,也存储记录的其他列的数据,以便 在查询时直接在索引表中通过顺序扫描找到相应的 数据,大幅度减少查询时间.该方法本质是以空间代 价来换取查询效率.CCIndex的索引更新代价比较

高,会影响系统的吞吐量.索引创建以后不能够动态 增加或修改.As ynchronous   views以异步视图的方 式来实现非主键的查询,提出了两种视图方案:远端 视图表(remote view tables,RVTs)和局部视图表 ( local   view tables,LVTs). RT-CAN[54]采用多维索引加速多值查询.其局 部索引采用R - tree,全局索引中采用了能够支持多 维查询的CAN覆盖网络.QT-Chord[55]是另一种双 层索引结构,它的局部索引采用的是改进的四叉树

IMX-CIF  quad - tree,全局索引采用的Chord覆盖网 络.EMINC[56]针对每个局部节点建立一个KD - tree,然后选择 KD - tree的部分节点作为全局索引. 每一个局部索引节点被看成是一个多个维度组成的

156 计算机研究与发展 2013,50( 1)

立方体,然后在全局索引中用 R - tree对这些立方体 进行索引.A-Tree [ 57]提出了另外一种方案.基本思 路是:针对每一个存储节点构建R - tree,同时创建一 个Bloom filter(布隆过滤器).这样在进行点查询 时,首先通过Bloom filter进行验证,如果查询点不 在其中,则不再进行 R - tree查询,否则继续进行 R - tree查询. MD-HBase [ 58]提出一种基于空间目标排序的索 引方案.基于空间目标排序的索引方法的基本思想 是:按照一定规则将覆盖整个研究区的范围划分为 大小相等的格子,并给每一格网分配一个编号,用这 些编号为空间目标生成一组具有代表意义的数字. 其实质是将 k 维空间的实体映射到一维空间,因此 可以利用现有数据库管理系统中比较成熟的一维索 引技术.UQE - Index[59]主要针对海量物联网应用场 景的时空特性,在时间维度上把数据分成当前数据 和历史数据,对当前数据和历史数据进行不同粒度 的索引,对当前数据,在时间段和子空间上进行索 引,从而减少索引更新的次数,降低索引维护的代 价,提高系统的吞吐量;对历史数据,批量地建立记 录级别的索引;在建立子空间索引时,为了确保数据 分布均匀,采用 KD Tree进行动态划分.但是如果 所有的数据都需要经过 KD Tree来索引也会带来 较高的代价,会影响数据的插入速度,因此可以对数 据进行采样,对采样得到的数据利用 KD Tree进行 索引,从而得到空间上的划分方案. 就已有方案来看,针对 NoSQL数据库上的查 询优化技术都并不成熟,仍有很多关键性问题亟待 解决. 3.1.4 数据分析技术 数据分析是Google最核心业务,每一次简单的 网络点击背后都需要进行复杂的分析过程,因此 Google对其分析系统进行不断的升级改造之中. MapReduce是 Google最早采用的计算模型,适用 于批处理,其具体内容已在上一节介绍.图是真实社 会中广泛存在的事物之间联系的一种有效表示手 段,因此对图的计算是一种常见的计算模式,而图计 算会涉及到在相同数据上的不断更新以及大量的消 息传递,如果采用 MapReduce去实现,会产生大量 不必要的序列化和反序列化开销.现有的图计算系 统并不适用于 Google的应用场景,因此 Google设 计并实现了Pregel图计算模型.Pregel [ 60]是 Google 继 MapReduce之后提出的又一个计算模型,与 MapReduce的离线批处理模式不同,它主要用于图

的计算.该模型的核心思想源于著名的BSP[61]计算 模型.Dremel [ 62]是 Google提出的一个适用于 Web 数据级别的交互式数据分析系统,通过结合列存储 和多层次的查询树,Dremel能够实现极短时间内的 海量数据分析.Dremel支持着 Google内部的一些 重要服务,比如 Google的云端大数据分析平台Bi g Quer y [ 63].Google在 VLDB 2012发表的文献[64] 中介绍了一个内部名称为PowerDrill的分析工具, PowerDrill同样采用了列存储,且使用了压缩技术 将尽可能多的数据装载进内存.PowerDrill与 Dremel均是Google的大数据分析工具,但是其关 注的应用场景不同,实现技术也有很大差异. Dremel主要用于多数据集的分析,而PowerDrill则 主要应用于大数据量的核心数据集分析,数据集的 种类相较于 Dremel的应用场景会少很多.由于 PowerDrill是设计用来处理少量的核心数据集,因 此对数据处理速度要求极高,所以其数据应当尽可 能地驻留在内存,而 Dremel的数据则存储在磁盘 中.除此之外,PowerDrill与Dremel在数据模型、数 据分区等方面都有明显的差别.从实际的执行效率 来看,Dremel可以在几秒内处理 PB级的数据查 询,而PowerDrill则可以在30~40s里处理7820 亿个单元格的数据,处理速度快于 Dremel.二者的 应用场景不同,可以相互补充. 微软提出了一个类似 MapReduce的数据处理 模型,称之为Dr yad[65],Dr yad模型主要用来构建支 持有向无环图(directed acycline  g raph,DAG)类型 数据流的并行程序.Cascading[66]通过对 Hadoop MapReduce API的封装,支持有向无环图类型的应 用.Sector ? sphere [ 67] 可以视为一种流式的 MapReduce,它由分布式文件系统Sector和并行计 算框 架 sphere 组 成.Nephele ?PACTs [ 68] 则 包 括 PACTs( parallelization contracts)编程模型和并行 计算引擎 Nephele.MapReduce模型基本成为了批 处理类应用的标准处理模型,很多应用开始尝试利 用 MapReduce加速其数据处理. 实时数据处理是大数据分析的一个核心需求. 很多研究工作正是围绕这一需求展开的.前面介绍 了大数据处理的两种基本模式,而在实时处理的模 式选择中,主要有3种思路: 1)采用流处理模式.虽然流处理模式天然适合 实时处理系统,但其适用领域相对有限.流处理模型 的应用主要集中在实时统计系统、在线状态监控等. 2)采用批处理模式.近几年来,利用批处理模

157孟小峰等 :大数据管理:概念、技术与挑战

型开发实时系统已经成为研究热点并取得了很多成 果.从增量计算的角度出发,Google提出了增量处 理系统 Percolator [ 47],微软则提出了 Nectar [ 69]和

Dr yadInc [ 70].三者均实现了大规模数据的增量计 算,但是这些系统和 MapReduce并不兼容,因此 Incoop[71]和IncMR[72]实现了 MapReduce框架下的 增量计算.Yahoo的 Nova[73]则支持有状态的增量 数据计算模式.HOP[74]在 MapReduce处理的过程 中引入管道( p i peline)的概念.在保证 Hadoop容错 性的前提下,使数据在各个任务间以管道的方式交 互,增加了任务的并发性,提高了数据处理的实时 性.中国人民大学 WAMDM 实验室在 HOP基础上 开发的 COLA 系统[75]在 HOP系统的基础上增加 了数据采样、结果估计、置信区间计算等功能模块, 一定程度上提高了 HOP的实时性.原位分析可以 避免将文件集中传输到分析服务器上的通信开销, 大大提高了实时性.文献[76 - 77]从原位分析的角度 出发,分别实现了针对大规模日志分析的原位 MapReduce(In - situ MapReduce)和 Continuous MapReduce.原始的 MapReduce模型并不能很好地 支持迭代计算,计算代价很大.而迭代计算是图计 算、数据挖掘、机器学习等领域常见的运算模式,不 少研究工作通过改进 MapReduce模型迭代计算的 效率来提高其实时性.HaLoop[78]通过在各个task tracker对数据进行缓存(cache)和创建索引(index) 的方式来减少磁盘IO,并提供了一套新的编程接 口.但是 HaLoop的动静态数据无法分离,且没有一 个客 观 的 停 止 迭 代 的 标 准.Twister [ 79]系 统 将 Hadoop的全部数据存放在内存中,采用独立模块 传递所有的消息和数据.但是数据驻留内存的限制 使其难以实用,且其计算模型的抽象度不高,支持的 应用也很有限.Twister仍处于初步的研究阶段. iMapReduce [ 80]介绍了一种基于 MapReduce的迭代 模型,但是它的静态调度策略和粗粒度的task可能 会导致资源利用不佳和负载不均.iHadoop[81]实现 了 MapReduce的异步迭代,但是在task之间的复 用上并无太大改进.PrIter [ 82]是在 Hadoop的基础 上开发的,支持带优先级的迭代计算,能够保证迭代 过程的快速收敛,适合top - k 之类的在线查询.最新 版本的PrIter已经支持基于内存和基于文件的数 据存储方式.Spark[83]将中间结果存放在内存中,支 持除 Map和 Reduce之外的多种操作类型.但是 Spark不适用异步细粒度更新状态的应用,同时在 容错性方面有待提升.Facebook结合自己的应用场

景构建了实时的 Hadoop系统[84],主要是实现了高 可用的 NameNode,对并发读和实时负载性能进行 了优化,改造 HBase使其适合真实的实时生产环境. 3)二者的融合.有不少研究人员尝试将流处理 和 批 处 理 模 式 进 行 融 合,主 要 思 路 是 利 用 MapReduce模型实现流处理.文献[85]着重探讨了 将 MapReduce模型应用到流处理这种单遍分析 ( one -pass   anal y tics)的应用时在架构上应当进行怎 样的调整.在此分析基础上,文献[86]介绍了一种利 用 MapReduce实现的适用于单遍分析的可扩展平 台.DEDUCE 系统[87]扩展了IBM 的流处理软件 System  S,使其支持 MapReduce.C-MR 系统[88]通 过3个方面的工作实现了支持流处理的持续型 MapReduce(Continuous -MapReduce):①将并行流 处理中的窗口概念透明的扩展到 MapReduce模型 中;②有效结合了包括CPU 和 GPU 在内的多种异 构计算能力;③支持灵活、动态的工作流调度.M3[89] 在 Hadoop系统基础上进行扩展,绕开 HDFS的限 制,实现了一个全内存处理的高效流处理系统.

StreamMa pReduce [ 90]结合事件流处理(event   stream processing)的特点,对 MapReduce中的 Mapper和 Reducer进行重新定义,增加了持续的、低延迟的 数据处理能力.文献[91]认为大数据时代快速数 据(fast   data)的处理是一个非常典型的场景,比如 数据流.在充分调研基础上,作者认为原始的 MapReduce框架不适合处理快速数据.结合快速数 据的特点,文中设计了一个类似 MapReduce的框 架———MapUpdate,并在该框架基础上实现了一个 原型系统 Muppet.和上述这些系统相比,SSS[92]最 大的特点就是在支持快速流处理的同时也能够支持 大规模静态数据的处理,也就是说兼具流处理和批 处理.文献 [93]中提出名为离散流(discretized streams)的编程模型,并在Spark基础上实现了一 个原型系统Spark Streaming. 3.2 大数据处理工具 关系数据库在很长的时间里成为数据管理的最 佳选择,但是在大数据时代,数据管理、分析等的需 求多样化使得关系数据库在很多场景不再适用.本 节将对现今主流的大数据处理工具进行一个简单的 归纳和总结. Hadoop是目前最为流行的大数据处理平台. Hadoop 最 先 是 Doug Cutting 模 仿 GFS, MapReduce实现的一个云计算开源平台,后贡献给 Apache.Hadoop 已经发展成为包括文件系统

158 计算机研究与发展 2013,50( 1)

(HDFS)、数据库 (HBase、Cassandra)、数据处理 (MapReduce)等功能模块在内的完整生态系统 ( Ecos ystem).某种程度上可以说 Hadoop已经成为 大数据处理工具事实上的标准. 对 Hadoop改进并将其应用于各种场景的大数 据处理已经成为新的研究热点.主要的研究成果集 中在对 Hadoop平台性能的改进[94 -97]、高效的查询 处理[98 -103]、索引构建和使用[104 -105]、在 Hadoop之上 构建数据仓库[106 -108]、Hadoop和数据库系统的连

接[109 -111]、数据挖掘[112 -115]、推荐系统[116 -118]等. 除了 Hadoop,还有很多针对大数据的处理工 具.这些工具有些是完整的处理平台,有些则是专门 针对特定的大数据处理应用. 表7归纳总结了现今一些主流的处理平台和工 具,这些平台和工具或是已经投入商业使用,或是开 源软件.在已经投入商业使用的产品中,绝大部分也 是在 Hadoop基础上进行功能扩展,或者提供与 Hadoop的数据接口.

更多相关推荐:
公司企业创新理念标语口号

融合德智勇勤创新其乐无穷创新无条件信手偶得之创新无诀窍突发奇想中只有一条路不能选择那就是放弃的路不是空洞口号创新是必要行动诚实是做人之准则信用是社会的灵魂创新是企业的根本新奥因成功而美好员工因创新而精彩持创新再...

经典企业理念标语

经典企业理念标语组建一流团队培训一流人才创造一流业绩建设一流企业工作原则生活因拼搏而存在拼搏因生活而永恒会议原则沉默不是金发言要用心企业的成功来自于每一名员工的付出上班努力点下班轻松点企业以人为本员工以厂为荣效...

企业文化、企业精神、发展理念、服务理念口号标语大全 企业理念大全

企业文化企业精神发展理念服务理念口号标语大全企业理念大全企业宣传标语大全1不断超越追求完美2诚信为本创新为魂3居安思危自强不息4关爱生命保护环境预防为主持续改进5严守标准履行合同工程优质信誉至上6对工程负责让用...

企业创新口号_公司创新理念_企业创新宣传标语

企业创新口号公司创新理念企业创新宣传标语以服务为基础以质量为生存以科技求发展客户至上服务周到质量第一科技领先企业发展服务为本优质服务诚信为本客户是上帝是企业衣食父母客户越多企业越兴旺客户至上技术争先团结协作求真...

经典服务理念标语

IBM迅速成长的半个多世纪最主要的要决是他们始终不渝地坚持着quot三条信念quot1尊重员工个人的信念2尊重客户的信念他们的响亮口号是quotIBM就是服务quot他们采取两项措施以保证优质服务一是选择培养优...

公司企业优质服务理念宣传标语口号

公司优质服务理念标语系列一16条1以服务为基础以质量为生存以科技求发展2客户至上服务周到质量第一科技领先3企业发展服务为本优质服务诚信为本4客户是上帝是企业衣食父母客户越多企业越兴旺5客户至上技术争先团结协作求...

企业理念标语口号

企业理念标语口号和传统的昨天告别向规范的未来迈进只有步入国际标准的轨道才有无限延伸的空间雄关漫道真如铁而今迈步从头越立足新起点开创新局面质量是成功的伙伴贯标的质量的保障iso9000效率效益之源跨过iso900...

企业口号、标语、理念大全

企业口号标语理念大全1质量是企业永恒的主题2市场是海质量是船品牌是帆3今日的质量明日的市场4筑质量长城兴中华经济5ISO9000效率效益之源6构造质量环境安全一体化的管理体系7建有质量文化的质量体系创造有魅力有...

企业标语口号管理理念全集大收藏

企业口号标语大全企业理念大全企业口号标语大全企业理念大全全集大收藏A01优质建设以ISO9000为基A02优质建设以质为根A03品质成功之轮A04优质产品丰厚成果A05品质为重A06品质为本财富为果A07醒觉起...

企业文化、口号、理念、标语集合4

企业文化宣传标语系列精心整理指定有用哟关键词企业文化安全生产品质宣传ISO宣传标语环保宣传5S宣传质量宣传一企业文化标语口号系列1效率成就品牌诚信铸就未来2只要精神不滑坡办法总比困难多3计划是时间的最好保障时间...

企业服务理念标语

企业服务理念标语1以服务为基础以质量为生存以科技求发展2客户至上服务周到质量第一科技领先3企业发展服务为本优质服务诚信为本4客户是上帝是企业衣食父母客户越多企业越兴旺5客户至上技术争先团结协作求真务实6办实事求...

企业口号标语大全 企业理念大全

本文由450251794贡献doc文档可能在WAP端浏览体验不佳建议您优先选择TXT或下载源文件到本机查看企业口号标语大全企业理念大全20xx12261424A01优质建设以ISO9000为基A02优质建设以质...

技术理念标语(32篇)