总结: 关于大数据的99篇重量级论文及开发项目

本文在Creative Commons许可证下发布

下文提及到的100篇参考文献(这些文献中大多都是一些开创性的研究论文),将会为你提供结构性的深度剖析,绝非泛泛而谈。我相信,这可从根 本上帮助你深度理解大数据体系组件间的细微差别。但如果你打算“走马观花”般地快速过一遍,了解大数据为何物,对不起,这里可能会让你失望。

那么,准备好了吗?让我们走起! 

在介绍这100篇文献之前,首先让我们看一下大数据处理的关键架构层(如图1所示):

关键架构层 

图1:大数据处理的关键架构层

文件系统层:在这一层里,分布式文件系统需具备存储管理、容错处理、高可扩展性、高可靠性和高可用性等特性。 

数 据存储层:由于目前采集到的数据,十之有七八为非结构化和半结构化数据,数据的表现形式各异,有文本的、图像的、音频的、视频的等,因此常见的数据存储也 要对应有多种形式,有基于键值(Key-Value)的,有基于文档(Document),还有基于列(Column)和图表(Graph)的。如果采用 单一的数据库引擎,“一刀切式”的满足所有类型的数据存储需求,通常会严重降低数据库管理的性能。因此,我们需要“兵来将挡,水来土掩”式的、多元的(Polyglot)【1】数据库解决方案(这就好比,如果“兵来了”和“水来了”,都要“将”去挡,遇到“兵”时,“将”可以“酣畅淋漓”,而遇到“水”时,还用“将”去挡,那这个“将”估计就要“舍生取义”了。文献【1】是一本有关NoSQL数据处理的图书)

资源管理层:这一层是为了提高资源的高利用率和吞吐量,以到达高效的资源管理与调度目的。 

资源协调层: 在本层的系统,需要完成对资源的状态、分布式协调、一致性和资源锁实施管理。 

计算框架层:在本层的计算框架非常庞杂,有很多高度专用的框架包含其内,有流式的,交互式的,实时的,批处理和迭代图的(Batch and Iterative Graph,BSP)等。为这些计算框架提供支撑的是运行时引擎,如BDAS【2】(Spark) 和 Flink等(注:这里的BDAS是指“Berkeley Data Analytics Stack”,即伯克利数据分析栈。文献【2】为Spark核心作者Ion Stoica的讲座幻灯片文档)。

数据分析层:在这一层里,主要包括数据分析(消费)工具和一些数据处理函数库。这些工具和函数库,可提供描述性的、预测性的或统计性的数据分析功能及机器学习模块。 

数据集成层:在这一层里,不仅包括管理数据分析工作流中用到的各种适用工具,除此之外,还包括对元数据(Metadata)管理的工具。

操作框架层:这一层提供可扩展的性能监测管理和基准测试框架。 

架构的演进

减少数据生产者和消费者之间的处理延迟,一直是现代计算构架不断演进的主要动力。由此,诞生了实时和低延迟处理的计算构架,如Lambda和Kappa等,这类混合架构取长补短,架起传统的批处理层和交互式层之间连接的桥梁。 

Lambda【3】 -该架构是经典的大数据处理范式,是由南森•马兹(Nathan Marz)提出的一个实时大数据处理框架。更多有关Lamda的信息,请读者访问Lambda官方网站。(注:文献【3】是由James Kinley在轻博客网站Tumblr发表的一篇博文:Lambda 架构:构架实时大数据系统的原则)。 

Kappa【4】 -该计算构架可视为Lambda的一个强有力替代者,Kappa将数据处理的上游移至流式层(注:文献【4】是一篇博客文章,作者是Jay Kreps是Linkedln的一名在线数据架构技术高管。Kreps认为,虽然Lambda构架的理念很有价值,但终究还是一个临时解决方案。他设计了 一个替代架构Kappa,是基于他在Linkedin构建Kafka和Samza的经验设计而成)。

SummingBird【5】 -这是一个参考模型,用来桥接在线处理模式和传统处理模式。Summingbird是由Twitter(推特)公司用Scala语言开发的、并开源的大规 模数据处理框架,支持开发者以批处理模式(基于Hadoop)或流处理模式(基于Storm),或混合模式(即前两种模式的组合)以统一的方式执行代码。 (注:文献【5】是Summingbird的主要设计者Oscar Boykin、Sam Ritchie等人于2014年发表于知名期刊PVLDB中论文,其中论文的二作Sam Ritchie大有来头,他是计算机科学界的传奇人物、C语言和Unix的设计者Dennis Ritchie的侄子)。 

在你尚未深入了解下面的各个具体的框架层次之前,建议你认真阅读一下下面的几篇非常有价值的文献,它们帮为你“恶补”一下诸如NoSQL(非结构化)数据存储、数据仓库大规模计算及分布式系统等相关领域的背景知识: 

计算中心即计算机【6】 (Data center as a computer)-文献【6】是威斯康星大学-麦迪逊分校Mark D. Hill教授主编的一个论文集式的图书,在这本图书中,收集了很多有关数据仓库大规模计算的论文(注:将数据中心视为一台计算机,与传统的高性能计算机有 很大不同。计算中心的实例将以虚拟机或者容器的形式存在,计算资源的配置对于用户而言是透明的,这样就大幅降低系统部署的复杂度、并提高资源使用的灵活 性)。 

非结构化(NOSQL)数据存储【7】 – 文献是由Rick Cattell撰写的论文,论文讨论了可扩展的结构化数据的、非结构化的(包括基于键值对的、基于文档的和面向列的)数据存储方案(注:NOSQL是支撑 大数据应用的关键所在。事实上,将NOSQL翻译为“非结构化”不甚准确,因为NOSQL更为常见的解释是:Not Only SQL(不仅仅是结构化),换句话说,NOSQL并不是站在结构化SQL的对立面,而是既可包括结构化数据,也可包括非结构化数据)。 

NoSQL学位论文【8】-该文献是德国斯图加特传媒大学Christof Strauch撰写的学位论文,该论文对分布式系统和第一代非结构化系统提供了非常系统的背景知识介绍。 

大规模数据管理【9】-文献是加拿大阿尔伯塔大学的研究人员撰写的一篇综述,讨论了大数据应用程序的大规模数据管理系统,传统的数据库供应商与新兴的互联网企业,它们对大数据管理需求是不同的。文章的讨论范围涵盖很广,数据模型、系统结构及一致性模型,皆有涉及。 

最终一致性(Eventual Consistency)【10】: 论文讨论了分布式系统中的各种不同的一致性模型。(注:原文给出的链接可能有误,因为根据所提供的链接下载而来的论文是关于“MapReduce中日志处 理的Join算法”的综述文章,与“最终一致性”的讨论议题无关。这里推荐2篇新的相关论文:(1)综述文章:数据库最终一致性:最新的进展【10】new1;(2)微软研究人员2013年发表于SIGMOD的文章:“最终一致性的反思(Rethinking Eventual Consistency)【10】new2”。) 

CAP理论【11】 -文献以“CAP理论十二年回顾:”规则”已经变了”为题,探讨了CAP理论及其演化,是篇非常不错的介绍CAP理论的基础性论文(注:论文作者Eric Brewer是加州大学伯克利分校的知名计算机科学学者。该文首发于《Computer》杂志,随后又被InfoQ和IEEE再次发表。CAP理论断言, 任何基于网络的数据共享系统,最多只能满足数据一致性(Consistency,C)、可用性(Availability ,A)、分区(Partition,P)容忍性这三要素中的两个要素。但通过显式处理分区,系统设计师可做到优化数据的一致性和可用性,进而取得三者之间 的妥协与平衡)。 

在过去,在大规模数据处理上,传统的并行数据库管理系统(DBMS)和基于Map Reduce(映射-规约,以下简称MR)的批处理范式之间,曾发生激烈辩论,各持己见。并行数据库管理系统的支持者【12】(注:由耶鲁大学、微软和麻省理工学院的研究人员于2009年发表在SIGMOD的一篇文章)和另外一篇文献【13】(注:2010年发表于《美国计算机学会通讯》上的论文:“MapReduce和并行数据库管理系统,是朋友还是敌人?”),被MR的拥趸者【14】(注:发表于美国计算机学会通讯的论文:MapReduce:一个弹性的数据处理工具)狠狠地给批驳了一番。 

然而,令人讽刺的是,从那时起,Hadoop社区开始引入无共享的(Shared-Nothing)的MPP(大规模并行处理)风格的大数据处理模式,文献“Hadoop上的SQL【15】”,便是例证。要知道,MPP是并行数据库管理系统(DBMS)的灵魂,这样,Map Reduce绕了一大圈,又似回到它当初离开的地方。 

文件系统层

由于文件系统层关注的焦点,开始向“低延时处理”方向转移,所以传统基于磁盘存储的文件系统&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值