《大数据管理概论.html.pdf》由会员分享,可在线阅读,更多相关《大数据管理概论.html.pdf(136页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、丛书前言 当下大数据技术发展变化日新月异,大数据应用已经遍及工业和社会生活的方方面面,原有的数据管理理论体系与大数据产 业应用之间的差距日益加大,而工业界对于大数据人才的需求却急剧增加。大数据专业人才的培养是新一轮科技较量的基础,高 等院校承担着大数据人才培养的重任。因此大数据相关课程将逐渐成为国内高校计算机相关专业的重要课程。但纵观大数据人才 培养课程体系尚不尽如人意,多是已有课程的“冷拼盘”,顶多是加点“调料”,原材料没有新鲜感。现阶段无论多么新多么好 的人才培养计划,都只能在20世纪六七十年代编写的计算机知识体系上施教,无法把当下大数据带给我们的新思维、新知识传 导给学生。 为此我们意识
2、到,缺少基础性工作和原始积累,就难以培养符合工业界需要的大数据复合型和交叉型人才。因此急需在思维 和理念方面进行转变,为现有的课程和知识体系按大数据应用需求进行延展和补充,加入新的可以因材施教的知识模块。我们肩 负着大数据时代知识更新的使命,每一位学者都有责任和义务去为此“增砖添瓦”。 在此背景下,我们策划和组织了这套大数据管理丛书,希望能够培养数据思维的理念,对原有数据管理知识体系进行完善和 补充,面向新的技术热点,提出新的知识体系/知识点,拉近教材体系与大数据应用的距离,为受教者应对现代技术带来的大数 据领域的新问题和挑战,扫除障碍。我们相信,假以时日,这些著作汇溪成河,必将对未来大数据人
3、才培养起到“基石”的作 用。 丛书定位:面向新形势下的大数据技术发展对人才培养提出的挑战,旨在为学术研究和人才培养提供可供参考的“基石”。 虽然是一些不起眼的“砖头瓦块”,但可以为大数据人才培养积累可用的新模块(新素材),弥补原有知识体系与应用问题之前 的鸿沟,力图为现有的数据管理知识查漏补缺,聚少成多,最终形成适应大数据技术发展和人才培养的知识体系和教材基础。 丛书特点:丛书借鉴Morgan&Claypool Publishers出版的Synthesis Lectures on Data Management,特色在于选题新 颖,短小精湛。选题新颖即面向技术热点,弥补现有知识体系的漏洞和不足
4、(或延伸或补充),内容涵盖大数据管理的理论、方 法、技术等诸多方面。短小精湛则不求系统性和完备性,但每本书要自成知识体系,重在阐述基本问题和方法,并辅以例题说 明,便于施教。 丛书组织:丛书采用国际学术出版通行的主编负责制,为此特邀中国人民大学孟小峰教授(email: xfmeng)担任丛书主编,负责丛书的整体规划和选题。责任编辑为机械工业出版社华章分社姚蕾编辑(email: yaolei)。 当今数据洪流席卷全球,而中国正在努力从数据大国走向数据强国,大数据时代的知识更新和人才培养刻不容缓,虽然我们 的力量有限,但聚少成多,积小致巨。因此,我们在设计本套丛书封面的时候,特意选择了清代苏州籍宫
5、廷画家徐扬描绘苏州风 物的巨幅长卷画作姑苏繁华图(原名盛世滋生图)作为底图以表达我们的美好愿景,每本书选取这幅巨卷的一部分,一 步步见证和记录数据管理领域的学者在学术研究和工程应用中的探索和实践,最终形成适应大数据技术发展和人才培养的知识图 谱,共同谱写出我们这个大数据时代的盛世华章。 在此期望有志于大数据人才培养并具有丰富理论和实践经验的学者和专业人员能够加入到这套书的编写工作中来,共同为中 国大数据研究和人才培养贡献自己的智慧和力量,共筑属于我们自己的“时代记忆”。欢迎读者对我们的出版工作提出宝贵意见 和建议。 大数据管理丛书 主编:孟小峰 大数据管理概论 孟小峰 编著 2017年5月 异
6、构信息网络挖掘:原理和方法 美孙艺洲(Yizhou Sun) 韩家炜(Jiawei Han) 著 段磊 朱敏 唐常杰 译 2017年5月 大规模元搜索引擎技术 美孟卫一(Weiyi Meng) 於德(Clement T.Yu) 著 朱亮 译 2017年5月 大数据集成 美董欣(Xin Luna Dong) 戴夫士斯里瓦斯塔瓦(Divesh Sriva-tava) 著 王秋月 杜治娟 王硕 译 2017年5月 短文本数据理解 王仲远 编著 2017年5月 个人数据管理 李玉坤 孟小峰 编著 2017年5月 位置大数据隐私管理 潘晓 霍峥 孟小峰 编著 2017年5月 移动数据挖掘 连德富 张富峥
7、 王英子 袁晶 谢幸 编著 2017年5月 云数据管理:挑战与机遇 美迪卫艾肯特阿格拉沃尔(Divyakant Agrawal) 苏迪皮托达斯(Sudipto Das) 阿姆鲁埃尔阿巴迪(Amr El Abbadi) 著 马友忠 孟小峰 译 2017年5月 前言 陈寅恪先生说:“一时代之学术,必有其新材料与新问题。取用此材料,以研求问题,则为此时代学术之新潮流。治学之 士,得预于此潮流者,谓之预流(借用佛教初果之名)。其未得预者,谓之未入流。”对今天的信息技术而言,“新材料”即为 大数据,而“新问题”则是产生于“新材料”之上的新的应用需求。 对数据库领域而言,真正的“预流”是Jim Gray和
8、Michael Stone-braker等大师们。十三年前面对“数据库领域还能再活 跃30年吗”这一问题,Jim Gray给出的回答是:“不可能。在数据库领域里,我们已经非常狭隘。”但他转而回答 到:“SIGMOD这个词中的MOD表示数据管理。对我来说,数据管理包含很多工作,如收集数据、存储数据、组织数据、 分析数据和表示数据,特别是数据表示部分。针对数据查询已经做了相当多的工作,但这些工作仅仅围绕查询画了个艾普西龙 球面,而没有真正超越它。所以,如果我们还像以前一样把研究与现实脱离开来,还继续保持狭隘的眼光审视自己所做的研 究,数据库领域将要消失,因为那些研究越来越偏离实际。现在人们已经拥有
9、太多数据,而我对许多人说我们仅仅希望拥有更多 的时间。所以,整个数据收集、数据分析和数据简单化的工作就是能准确地给予人们所要的数据,而不是把所有的数据都提供给 他们。这个问题不会消失,而是会变得越来越重要。如果你用一种大而广的眼光看,数据库是一个蓬勃发展的领域;如果采用审 视的眼光看,现在做的很多研究对30年后的人们不会产生任何影响”(见数据库大师访谈录)。 最近人们提出了“数据湖”,以区别传统的“数据库”技术。两者的差别到底何在呢?偶读了费孝通先生所著的乡土中 国后,笔者略有所悟。费老分析总结了中国乡土社会结构,指出中国社会呈现出所谓的“差序格局”,而西方社会呈现的 是“团体格局”。传统数据
10、库结构关系单一,呈现状态犹如“团体格局”,即以单个实体为本位,实体之间的关系好比一捆柴, 几根成一把,几把成一扎,条理清楚,有共同的模式可循。而当下大数据来源广泛,关系复杂,远近亲疏各不同,这种关系就好 比“差序格局”,以语义主题为本位,每类实体都以自我为中心按照与其他实体的语义关系为主线结成网络,这个网络按照语义 关系的紧密亲疏呈现“差序”状态,就如同湖面丢下的石子形成的水波纹依中心扩散开去的样子。这种状态随着实体间关系的变 化而动态演化,并且每个网络的大小不同,体现的语义关系也不同,蕴含的价值也不同。 数据库的“团体格局”本质上是先有模式后有数据,因此数据集成可以采用中介模式(GAV和LA
11、V)以自顶向下的方式实现 集成。数据湖的“差序格局”是先有数据后有模式,因此需要按照自底向上的方式以一种大数据融合的方法实现集成。大数据融 合即建立数据间、信息间、知识片段间多维度、多粒度的关联关系,实现更多层面的知识交互,从而聚敛出数据湖中一个个维系 我们社会的“水波纹”(即语义关联的紧密程度)。 本书集成了大数据融合、存储、分析、隐私和系统等方面的工作,其组织结构如下:第1章描述大数据的概念、演变过程和 处理模式;第2章提出大数据融合的概念,分析大数据融合的独特性和任务,给出大数据融合的方法论;第3章介绍大数据存储 与管理方法;第4章描述大数据分析技术,包括实时分析、交互分析、智能分析等;
12、第5章讲述大数据涉及的隐私问题,主要介 绍不同领域中的隐私保护问题及其隐私保护技术;第6章介绍大数据管理系统,并分析其体系结构;第7章是基于大数据的交叉 学科研究,介绍在线用户行为演化的相关研究。 本书中涉及的研究工作得到众多科研项目的支持,其中包括:国家自然基金重点项目“大规模关联数据管理的关键技 术研究”(编号:61532010);国家自然基金重点项目“面向大数据内存计算的计算机体系结构”(编号: 61532016);国家重点研发项目“科学大数据管理系统”(编号:2016YFB1000600);中国人民大学重点科学研究基金 重大基础研究项目“社会计算若干关键问题研究”(编号:11XNL01
13、0);高等学校博士学科点专项科研基金优先领域课题 “云计算环境下的在线聚集技术研究”(编号:20130004130001);国家自然基金重大研究计划重点项目“大数据 开放与治理中的隐私保护关键技术研究”(编号:91646203)。 本书架构的安排以及统稿、审校工作由孟小峰组织完成,这里要特别感谢王春凯、杜治娟、郭崎、杨晨、王硕、叶青青和李 勇,在本书的编写过程中他们给予了极大的帮助。 本书涉及面广,内容丰富,术语量大,如果在阅读过程中发现有不当之处,恳请读者批评指正;如果有任何建议或意见,欢 迎发邮件与作者(xfmeng)联系。 孟小峰 2016年9月28日于北京 作者简介 孟小峰 中国人民大
14、学信息学院教授,博士生导师。现为中国计算机学会会士、中国保密协会隐私保护专业委员会副主任, Journal of Computer Science and TechnologyFrontiers of Computer Science软件学报计算机研究与发 展等编委。先后获中国计算机学会“王选奖”一等奖(2009年),北京市科学技术奖二等奖(2011年)等奖励,入选“第三 届北京市高校名师奖”(2005年)。发表论文200余篇,近期结合近十年的研究工作出版了“网络与移动数据管理三部 曲”(Web数据管理:概念与技术XML数据管理:概念与技术移动数据管理:概念与技术,清华大学出版社), 获得国家
15、专利授权12项。近期主要研究领域为网络与移动大数据管理,包括Web数据管理、云数据管理、面向新型存储器的数 据库系统、大数据隐私管理、社会计算等。 第1章 概述 1.1 大数据的基本概念 已故的图灵奖得主Jim Gray在其事务处理一书中提到:6000年以前,苏美尔人(Sumerians)就使用了数据记录的方 法,已知最早的数据是写在土块上,上面记录着皇家税收、土地、谷物、牲畜、奴隶和黄金等情况。随着社会的进步和生产力的 提高,类似土块的处理系统演变了数千年,经历了殷墟甲骨文、古埃及纸莎草纸、羊皮纸等。19世纪后期打孔卡片出现,用于 1890年美国人口普查,用卡片取代土块,使得系统可以每秒查找
16、或更新一个“土块”(卡片)。可见,用数据记录社会由来已 久,而数据的多少和系统的能力是与当时社会结构的复杂程度和生产力水平密切相关的。 随着人类进入21世纪,尤其是互联网和移动互联网技术的发展,使得人与人之间的联系日益密切,社会结构日趋复杂,生 产力水平得到极大提升,人类创造性活力得到充分释放,与之相应的数据规模和处理系统发生了巨大改变,从而催生了当下众人 热议的大数据局面。 从历史观的角度看,数据(D)和社会(S)形成了一定的对应关系,即:D1f(SSumerians),Dbigf(Spresent), ,Dnf(Sfuture)。从量的关系上,D1,Dbig,Dn可能存在大小关系,还可形成
17、包含关系,但它们只是与当时的社 会发展状况相对应:Dbig不可能反映代表未来的Dn,因为我们不知道未来会有什么新的社会结构(诸如当下社交网络一类的事 物)出现,也不知道会有什么新的生产活动(诸如电商一类的事物)产生;同样D1也不需要具有Dbig的规模,因为当时人们并 没有如此频繁的联系。近期,美国加州大学伯克利分校Michael I.Jordan教授提出“大数据的冬天即将到来”,如果我们能历史 地认识Dbig的地位,没有把Dbig当Dn,就不存在“冬天”与“春天”的问题。这是历史客观发展的事实。 基于以上分析,当下大数据的产生主要与人类社会生活网络结构的复杂化、生产活动的数字化、科学研究的信息
18、化相关,其 意义和价值在于可帮助人们解释复杂的社会行为和结构,以及提高生产力,进而丰富人们发现自然规律的手段。本质上,大数据 具有以下三方面的内涵,即大数据的“深度”、大数据的“广度”以及大数据的“密度”。所谓“深度”是指单一领域数据汇聚 的规模,可以进一步理解为数据内容的“维度”;“广度”则是指多领域数据汇聚的规模,侧重体现在数据的关联、交叉和融合 等方面;“密度”是指时空维上数据汇聚的规模,即数据积累的“厚度”以及数据产生的“速度”。 面对不断涌现的大数据应用,数据库乃至数据管理技术面临新的挑战。传统的数据库技术侧重考虑数据的“深度”问题,主 要解决数据的组织、存储、查询和简单分析等问题。
19、其后,数据管理技术在一定程度上考虑了数据的“广度”和“密度”问题, 主要解决数据的集成、流处理、图结构等问题。这里提出的大数据管理是要综合考虑数据的“广度”“深度”“密度”等问题, 主要解决数据的获取、抽取、集成、复杂分析、解释等技术难点。因此,与传统数据管理技术相比,大数据管理技术难度更高, 处理数据的“战线”更长。 第1章 概述 1.1 大数据的基本概念 已故的图灵奖得主Jim Gray在其事务处理一书中提到:6000年以前,苏美尔人(Sumerians)就使用了数据记录的方 法,已知最早的数据是写在土块上,上面记录着皇家税收、土地、谷物、牲畜、奴隶和黄金等情况。随着社会的进步和生产力的
20、提高,类似土块的处理系统演变了数千年,经历了殷墟甲骨文、古埃及纸莎草纸、羊皮纸等。19世纪后期打孔卡片出现,用于 1890年美国人口普查,用卡片取代土块,使得系统可以每秒查找或更新一个“土块”(卡片)。可见,用数据记录社会由来已 久,而数据的多少和系统的能力是与当时社会结构的复杂程度和生产力水平密切相关的。 随着人类进入21世纪,尤其是互联网和移动互联网技术的发展,使得人与人之间的联系日益密切,社会结构日趋复杂,生 产力水平得到极大提升,人类创造性活力得到充分释放,与之相应的数据规模和处理系统发生了巨大改变,从而催生了当下众人 热议的大数据局面。 从历史观的角度看,数据(D)和社会(S)形成了
21、一定的对应关系,即:D1f(SSumerians),Dbigf(Spresent), ,Dnf(Sfuture)。从量的关系上,D1,Dbig,Dn可能存在大小关系,还可形成包含关系,但它们只是与当时的社 会发展状况相对应:Dbig不可能反映代表未来的Dn,因为我们不知道未来会有什么新的社会结构(诸如当下社交网络一类的事 物)出现,也不知道会有什么新的生产活动(诸如电商一类的事物)产生;同样D1也不需要具有Dbig的规模,因为当时人们并 没有如此频繁的联系。近期,美国加州大学伯克利分校Michael I.Jordan教授提出“大数据的冬天即将到来”,如果我们能历史 地认识Dbig的地位,没有把
22、Dbig当Dn,就不存在“冬天”与“春天”的问题。这是历史客观发展的事实。 基于以上分析,当下大数据的产生主要与人类社会生活网络结构的复杂化、生产活动的数字化、科学研究的信息化相关,其 意义和价值在于可帮助人们解释复杂的社会行为和结构,以及提高生产力,进而丰富人们发现自然规律的手段。本质上,大数据 具有以下三方面的内涵,即大数据的“深度”、大数据的“广度”以及大数据的“密度”。所谓“深度”是指单一领域数据汇聚 的规模,可以进一步理解为数据内容的“维度”;“广度”则是指多领域数据汇聚的规模,侧重体现在数据的关联、交叉和融合 等方面;“密度”是指时空维上数据汇聚的规模,即数据积累的“厚度”以及数据
23、产生的“速度”。 面对不断涌现的大数据应用,数据库乃至数据管理技术面临新的挑战。传统的数据库技术侧重考虑数据的“深度”问题,主 要解决数据的组织、存储、查询和简单分析等问题。其后,数据管理技术在一定程度上考虑了数据的“广度”和“密度”问题, 主要解决数据的集成、流处理、图结构等问题。这里提出的大数据管理是要综合考虑数据的“广度”“深度”“密度”等问题, 主要解决数据的获取、抽取、集成、复杂分析、解释等技术难点。因此,与传统数据管理技术相比,大数据管理技术难度更高, 处理数据的“战线”更长。 1.2 大数据的演变过程 从数据库(Database,DB)到大数据(Big Data,BD),看似只是
24、一个简单的技术演进,但细细考究不难发现两者有着 本质上的差别。大数据的出现必将颠覆传统的数据管理方式,在数据来源、数据处理方式和数据思维等方面都会带来革命性变 化。 如果要用简单的方式来比较传统的数据库和大数据的区别的话,我们认为“池塘捕鱼”和“大海捕鱼”是一个很好的类比。 “池塘捕鱼”代表着传统数据库时代的数据管理方式,而“大海捕鱼”则对应着大数据时代的数据管理方式,“鱼”是待处理的 数据。“捕鱼”环境条件的变化导致了“捕鱼”方式的根本性差异。这些差异主要体现在如下几个方面: 1)数据规模:“池塘”和“大海”最明显的区别就是规模。“池塘”规模相对较小,即便是先前认为比较大的“池塘”, 譬如V
25、LDB(Very Large DataBase),与“大海”XLDB(Extremely Large DataBase)相比仍旧偏小。“池塘”的处理对象 通常以MB为基本单位,而“大海”则常常以GB甚至是TB、PB为基本处理单位。 2)数据类型:过去的“池塘”中,数据的种类单一,往往仅仅有一种或少数几种,这些数据又以结构化数据为主。而 在“大海”中,数据的种类繁多,数以千计,而这些数据又包含着结构化、半结构化以及非结构化的数据,并且半结构化和非结 构化数据所占份额越来越大。 3)模式(schema)和数据的关系:传统的数据库都是先有模式,然后才会产生数据。这就好比是先选好合适的“池 塘”,然后
26、才会向其中投放适合在该“池塘”环境生长的“鱼”。而大数据时代在很多情况下难以预先确定模式,模式只有在数 据出现之后才能确定,且模式随着数据量的增长处于不断的演变之中。这就好比先有少量的鱼类,随着时间推移,鱼的种类和数 量都在不断地增长。鱼的变化会使大海的成分和环境处于不断的变化之中。 4)处理对象:在“池塘”中捕鱼,“鱼”仅仅是其捕捞对象。而在“大海”中,“鱼”除了是捕捞对象之外,还可以通过 某些“鱼”的存在来判断其他种类的“鱼”是否存在。也就是说传统数据库中数据仅作为处理对象,而在大数据时代,要将数据 作为一种资源来辅助解决其他诸多领域的问题。 5)处理工具:捕捞“池塘”中的“鱼”,一种渔网
27、或少数几种基本就可以应对,也就是所谓的“One Size Fits All”。但 是在“大海”中,不存在一种渔网能够捕获所有鱼类的情况,也就是所谓的“No Size Fits All”。 从“池塘”到“大海”,不仅仅是规模的变大。传统的数据库代表着数据工程(data engineering)的处理方式,大数据 时代的数据已不仅仅是工程处理的对象,需要采取新的数据思维来应对。图灵奖获得者、著名数据库专家Jim Gray博士观察并 总结指出,人类自古以来,在科学研究上先后历经了实验、理论和计算三种范式。当数据量不断增长和累积到今天,这三种传统 范式在科学研究,特别是一些新的研究领域已经无法很好地发
28、挥作用,需要有一种全新的范式来指导新形势下的科学研究。基于 这种考虑,Jim Gray提出了一种新的数据探索型研究方式,他称之为科学研究的“第四种范式”(The Fourth Paradigm)1。 四种范式的比较如表1-1所示。第四种范式的实质就是从以计算为中心,转变到以数据处理为中心,也就是我们所说的数据 思维。这种方式需要我们从根本上转变思维。正如前面提到的捕鱼方式的转变,在大数据时代,数据不再仅仅是捕捞的对象,而 应当转变成一种基础资源,来协同解决其他诸多领域的问题。例如,计算社会科学(computational social science)基于特定 社会需求,在特定的社会理论指导下
29、,收集、整理和分析数据足迹(data print),以便进行社会解释、监控、预测与规划的过 程和活动。计算社会科学是一种典型的需要采用第四种范式来做指导的科学研究领域。Duncan J.Watts在Nature杂志上的 文章“A twenty-first century science”也指出借助于社交网络和计算机分析技术,21世纪的社会科学有可能实现定量化的研 究,从而成为一门真正的自然科学。 表1-1 科学研究上发现的四种范式 1 Kristin M Tolle,D Stewart W,Tansley,et alThe Fourth Paradigm:Data-intensive Scie
30、ntific DiscoveryCProceedings of the IEEENJ:IEEE,2011,99(8):1334-1337 1.3 大数据应用 人类历史上从未有哪个时代同今天一样产生如此海量的数据。数据的产生已经完全不受时间、地点的限制。从采用数据库作 为数据管理的主要方式开始,人类社会的数据产生方式大致经历了3个阶段,而正是数据产生方式的巨大变化才最终导致大数据 的产生。 1)运营式系统阶段:数据库的出现使得数据管理的复杂度大大降低,实际中数据库大都为运营系统所采用,作为运营系统 的数据管理子系统。比如超市的销售记录系统、银行的交易记录系统、医院病人的医疗记录系统等。人类社会数
31、据量第一次大的 飞跃正是从运营式系统广泛使用数据库开始的。这个阶段最主要的特点是数据往往伴随着一定的运营活动而产生并记录在数据库 中,比如超市每销售一件商品就会在数据库中产生一条相应的销售记录。这种数据的产生方式是被动的。 2)互联网系统阶段:互联网的诞生促使人类社会数据量出现第二次大的飞跃。但是真正的数据爆发产生于Web2.0时代, 而Web2.0的最重要标志就是用户原创内容(User Generated Content,UGC)。这类数据近几年一直呈现爆炸性增长,主要 有两个方面的原因。首先是以博客、微博为代表的新型社交网络的出现和快速发展,使得用户产生数据的意愿更加强烈。其次就 是以智能
32、手机、平板电脑为代表的新型移动设备的出现,这些易携带、全天候接入网络的移动设备使得人们在网上发表自己意见 的途径更为便捷。这种数据的产生方式是主动的。 3)感知式系统阶段:人类社会数据量第三次大的飞跃最终导致了大数据的产生,今天我们正处于这个阶段。这次飞跃的根 本原因在于感知式系统的广泛使用。随着技术的发展,人们已经有能力制造极其微小的带有处理功能的传感器,并开始将这些设 备广泛地布置于社会的各个角落,通过这些设备来对整个社会的运转进行监控。这些设备会源源不断地产生新数据,这种数据的 产生方式是自动的。 简单来说,数据产生经历了被动、主动和自动三个阶段。这些被动、主动和自动产生的数据共同构成了
33、大数据的数据来源, 但其中自动式数据才是大数据产生的最根本原因。 正如谷歌公司的首席经济学家Hal Varian所说,数据是广泛可用的,所缺乏的是从中提取出知识的能力。数据收集的根本目 的是根据需求从数据中提取有用的知识,并将其应用到具体的领域之中。不同领域的大数据应用有不同的特点,表1-2列举了若 干具有代表性的大数据应用及其特征。 表1-2 典型大数据应用的比较 正是由于大数据的广泛存在,才使得大数据问题的解决极具挑战性。而它的广泛应用,则促使越来越多的人开始关注和研究 大数据问题。 如图1-1所示,大数据应用的三要素包括大数据(big data)、大知识(big knowledge)和大
34、应用(big application)。 “大数据”关联和融合凝聚成“大知识”,促使开发“大应用”。 图1-1 大数据应用的三要素 1.4 大数据的处理模式 无论是工业界还是学术界,都已经广泛使用高级集群编程模型来处理日益增长的数据,如MapReduce。这些系统将分布式 编程简化为自动提供位置感知(locality-aware)调度、容错以及负载均衡,使得大量用户能够在商用集群上分析庞大的数据 集。 大多数现有的集群计算系统都是基于非循环数据流模型(acyclic data flow model),从稳定的物理存储(如分布式文件 系统)中加载记录,一组确定性操作构成一个有向无环图(Direc
35、ted Acyclic Graph,DAG),记录被传入这个DAG,然后写 回稳定存储。通过这个DAG数据流图,运行时自动完成调度工作及故障恢复。 尽管非循环数据流是一种很强大的抽象方法,但有些应用仍然无法使用这种方式描述,包括:机器学习和图应用中常用的 迭代算法(每一步对数据执行相似的函数);交互式数据挖掘工具(用户反复查询一个数据子集)。此外基于数据流的架构也 不明确支持这种处理,所以需要将数据输出到磁盘,然后在每次查询时重新加载,从而带来较大的开销。 当前大数据分析处理系统的发展趋势主要有两个方向:一种是以Hadoop和MapReduce为代表的批处理(batch processing)
36、系统,另一种是为各种特定应用开发的流处理(stream processing)系统,批处理是先存储后处理(store- then-process),而流处理则是直接处理(straight-through processing)。 1.4.1 批处理 Google公司于2004年提出的MapReduce编程模型是最具代表性的批处理模式。一个完整的MapReduce过程如图1-2所 示。 图1-2 MapReduce执行流程图 MapReduce模型首先将用户的原始数据源进行分块,然后分别交给不同的Map任务去处理。Map任务从输入中解析出键/ 值对集合,然后对这些集合执行用户自行定义的Map函数
37、得到中间结果,并将该结果写入本地硬盘。Reduce任务从硬盘上读取 数据之后,会根据key值进行排序,将具有相同key值的数据组织在一起。最后用户自定义的Reduce函数会作用于这些排好序的 结果并输出最终结果。 从MapReduce的处理过程我们可以看出,MapReduce的核心设计思想在于:将问题分而治之;把计算推至数据而不 是把数据推至计算,有效避免数据传输过程中产生的大量通信开销。MapReduce模型简单,且现实中很多问题都可用 MapReduce模型来表示。因此该模型公开后立刻受到极大的关注,并在生物信息学、文本挖掘等领域得到广泛应用。 无论是批处理还是流处理,都是大数据处理的可行
38、思路。大数据的应用类型很多,在实际的大数据处理中,常常并不是简单 地只使用其中的某一种,而是将二者结合起来。互联网是大数据最重要的来源之一,很多互联网公司根据处理时间的要求将自己 的业务划分为在线(online)、近线(nearline)和离线(offline),比如著名的职业社交网站LinkedIn。这种划分方式是按处 理所耗时间来划分的。其中在线的处理时间一般为秒级,甚至是毫秒级,因此通常采用上面所说的流处理;离线的处理时间可以 以天为基本单位,基本采用批处理方式,这种方式可以最大限度地利用系统I/O;近线的处理时间一般为分钟级或者是小时级, 对处理模型并没有特别的要求,可以根据需求灵活选
39、择,但在实际中多采用批处理模式。 1.4.2 流处理 流处理的基本理念是数据的价值会随着时间的流逝而不断减少,因此尽可能快地对最新的数据作出分析并给出结果是所有流 数据处理模式的共同目标。需要采用流数据处理的大数据应用场景主要有网页点击数的实时统计、传感器网络和金融中的高频交 易等。 流处理的处理模式将数据视为流,源源不断的数据组成了数据流。当新的数据到来时就立刻处理并返回所需的结果。图1-3 是流处理中基本的数据流模型。 图1-3 基本的数据流模型 数据的实时处理是一个极具挑战性的工作,数据流本身具有持续达到、速度快且规模巨大等特点。为了确保分布式数据流的 实时处理,需要对数据流的传输和模型
40、进行说明。数据流传输。为保证实时、完整且稳定地将数据流传输到处理系统,一般可 通过消息队列和网络Socket传输等方法完成,以保证将数据发送至每个物理节点,为数据处理提供保障。利用消息队列的方式 进行数据采集和传输是较为常用的一种方法,常见的消息队列产品有Facebook的Scribe、LinkedIn的Kafka和Cloudera的 Flume等。数据流模型。在查询处理过程中,由于数据流的来源不同,需要针对不同的数据源制订不同的数据样式。一般来 讲,通用的数据流管理系统支持关系型数据模型,数据定义语言是基于关系型的原子类型,便于以属性和元组的形式划分和发送 数据;针对特殊领域的数据流管理系统
41、,可根据领域数据的特点设计基于对象类型的复合数据类型。 1.5 大数据管理的关键技术 综上所述,大数据时代的数据存在如下几个特点:多源异构、分布广泛、动态增长、先有数据后有模式。正是这些与传统数 据管理迥然不同的特点,使得大数据时代的数据管理面临着新的挑战,下面会对其中的主要挑战进行详细分析。 1.5.1 大数据融合 数据的广泛存在性使得数据越来越多地散布于不同的数据管理系统中,为了便于进行数据分析,需要进行数据集成。数据集 成看起来并不是一个新的问题,但是大数据时代的数据集成却有新的需求,因此也面临着新的挑战。 1)广泛的异构性。传统的数据集成也会面对数据异构的问题,但是在大数据时代这种异构
42、性出现了新的变化。主要体现 在:数据类型从以结构化数据为主转向结构化、半结构化、非结构化三者的融合。数据产生方式的多样性带来了数据源的变 化。传统的电子数据主要产生于服务器或者是个人计算机,这些设备位置相对固定。随着移动终端的快速发展,手机、平板电脑 和GPS等产生的数据量呈现爆炸式增长,且产生的数据带有很明显的时空特性。数据存储方式发生变化。传统数据主要存储在 关系数据库中,但越来越多的数据迫使人们开始采用新的数据存储方式来应对数据爆炸,比如存储在Hadoop的HDFS中。这就 必然要求在集成的过程中进行数据转换,而这种转换的过程是非常复杂和难以管理的。 2)数据质量。数据量大不一定就代表信
43、息量或者数据价值的增大,相反很多时候意味着信息垃圾的泛滥。一方面很难有单 个系统能够容纳下从不同数据源集成的海量数据;另一方面如果在集成的过程中仅仅简单地将所有数据聚集在一起而不进行任何 数据清洗,会使得过多的无用数据干扰后续的数据分析过程。大数据时代的数据清洗过程必须更加谨慎,因为相对细微的有用信 息混杂在庞大的数据量中。如果信息清洗的粒度过细,很容易将有用的信息过滤掉;清洗的粒度过粗,又无法达到真正的清洗效 果,因此在质与量之间需要进行仔细的考量和权衡。 1.5.2 大数据分析 传统意义上的数据分析主要针对结构化数据展开,且已经形成了一整套行之有效的分析体系。首先利用数据库来存储结构化 数
44、据,在此基础上构建数据仓库,根据需要构建数据立方体进行联机分析处理(Online Analytical Processing,OLAP),可以 进行多个维度的下钻(drill-down)或上卷(roll-up)操作。对于从数据中提炼更深层次的知识的需求导致数据挖掘技术的产 生,并促使人们发明了聚类、关联分析等一系列在实践中行之有效的方法。这一整套处理流程在处理相对较少的结构化数据时极 为高效。但是随着大数据时代的到来,半结构化和非结构化数据量的迅猛增长给传统的分析技术带来了巨大的冲击和挑战,主要 体现在如下几方面。 1)数据处理的实时性。随着时间的流逝,数据中所蕴含的知识价值往往也在衰减,因此
45、很多领域对于数据的实时处理有需 求。随着大数据时代的到来,更多应用场景的数据分析从离线转向了在线,开始出现实时处理的需求,比如KDD2012最佳论 文1所探讨的实时广告竞价问题。大数据时代的数据实时处理面临着一些新的挑战,主要体现在数据处理模式的选择及改进上。 在实时处理的模式选择中,主要有三种思路,即流处理模式、批处理模式以及二者的融合。相关研究成果在上一节已经有详细介 绍。虽然已有的研究成果很多,但是仍未有一个通用的大数据实时处理框架。各种工具实现实时处理的方法不一,支持的应用类 型都相对有限,这导致实际应用中往往需要根据自己的业务需求和应用场景对现有技术和工具进行改造。 2)动态变化环境
46、中索引的设计。关系数据库中的索引能够加速查询速率,但是传统的数据管理中模式基本不会发生变化, 因此在其上构建索引主要考虑的是索引创建、更新等的效率。大数据时代的数据模式随着数据量的不断变化可能会处于不断的变 化之中,这就要求索引结构的设计要简单、高效,能够在数据模式发生变化时很快进行调整来适应。在数据模式变更的假设前提 下设计新的索引方案将是大数据时代的主要挑战之一。 3)先验知识的缺乏。传统分析主要针对结构化数据展开,这些数据在以关系模型进行存储的同时就隐含了这些数据内部关 系等先验知识。比如我们知道所要分析的对象会有哪些属性,通过属性我们又能大致了解其可能的取值范围等。这些知识使得我 们在
47、进行数据分析之前就已经对数据有了一定的理解。而在面对大数据分析时,一方面是半结构化和非结构化数据的存在,这些 数据很难以类似结构化数据的方式构建出其内部的正式关系;另一方面很多数据以流的形式源源不断地到来,对这些需要实时处 理的数据很难有足够的时间去建立先验知识。 1 Perlich C,Dalessandro B,Hook R,et alBid Optimizing and Inventory Scoring in Targeted Online AdvertisingCProceedings of the18th ACM SIGKDD International Conference on
48、 Knowledge Discovery and Data Mining(SIGKDD)New York:ACM,2012: 804-812 1.5.4 大数据能耗 在能源价格上涨、数据中心存储规模不断扩大的今天,高能耗已逐渐成为制约大数据快速发展的一个主要瓶颈。从小型集群 到大规模数据中心都面临着降低能耗的问题,但是尚未引起足够多的重视,相关的研究成果也较少。在大数据管理系统中,能耗 主要由两大部分组成:硬件能耗和软件能耗,二者之中又以硬件能耗为主。在理想状态下,整个大数据管理系统的能耗应该与系 统利用率成正比。但是实际情况并不符合预期,系统利用率较低时仍然有较高的能量消耗1。针对这个问题,
49、纽约时报和麦 肯锡公司经过一年的联合调查,最终在纽约时报上发表文章“Power,Pollution and the Internet”2。调查显示Google 数据中心年耗电量约为300万瓦,而Facebook则在60万瓦左右。最令人惊讶的是在这些巨大的能耗中,只有6%12%的能量被 用来响应用户的查询并进行计算。绝大部分的电能用以确保服务器处于闲置状态,以应对突如其来的网络流量高峰,这种类型的 功耗最高可以占到数据中心所有能耗的80%。从已有的一些研究成果来看,可以考虑以下两个方面来改善大数据能耗问题。 1)采用新型低功耗硬件。从纽约时报的调查中可以知道绝大部分的能量都耗费在磁盘上。在空闲的状态下,传统的磁 盘仍然具有很高的能耗,并且随着系统利用率的提高,能耗也在逐渐升高。新型非易失存储器件的出现给大数据管理系统带来了 新的希望,如闪存、PCM等新型存储硬件具有低能耗的特性。虽然随着系统利用率的提高,闪存、PCM等的能耗也有所升高, 但是其总体能耗仍远远低于传统磁盘。 2)引入可再生的新能源。