大概两年前,写过一篇<<大数据量,海量数据 处理方法总结>>,之后应该被转载甚多,估计很多人看到过。当时更多的解决的是面试场景的问题,介绍的都是些基础的数据结构。实际上与实际的海量数据处理还有些距离,可以用来准备下面试,但是真正的海量数据处理都是建立在很多系统之上的,当然它们底层也会用到各种数据结构。
进来比较流行的是云计算,NoSql。Hadoop也逐渐成为很多公司的生产系统。大概去年开始阅读分布式相关的论文,为了加深印象我通常会翻译出来。作为一种阶段性的总结,把一些东西整理了一下。整个Hadoop完全建立在Google所发表的几篇论文之上,除Google这个系列之外,Amazon的Dynamo也是另一个重要的NoSql分支。这次整理的主要是Google发表的奠定云计算基础的几篇论文还有一个关于海量数据存储计算查询的综述性文章,包含如下几篇:
Cluster:发表于2003年,主要介绍Google的集群架构,对Google搜索系统的架构也进行了简单介绍
GFS:发表于2003年,介绍了Google分布式文件系统的设计及实现。Hadoop中与之对应的是HDFS
MapReduce:发表于2004年,介绍了分布式的编程模型MapReduce。Hadoop中与之对应的是Hadoop MapReduce
BigTable:发表于2006,介绍了建立在GFS之上的结构化数据存储系统,Hadoop中与之对应的是HBase
Chubby:发表于2006年,分布式锁服务系统,利用了很多现有的思想,尤其是分布式系统中的很多基础理论。Hadoop中与之对应的是Zookeeper
Sawzall:发表于2006年,建立在MapReduce之上的分布式查询脚本语言。Hadoop中与之对应的是Pig Hive等
GFS访谈录:Kirk McKusick&Sean Quinlan关于GFS的起源和演化的访谈内容。可能比GFS本身更有意思。
SMAQ:关于海量数据的存储计算及查询的一个综述性文章。将视野从Google系列扩展到了当今流行的各种NoSql系统。
另所有论文加起来太长,只贴下序吧,具体的内容见附件。
序
大概一年前,翻译了google的Cluster,GFS,MapReduce,BigTable这几篇论文。随着工作的进行及参阅资料的增加,是时候重新看下当年翻译的内容了。看后也发现了一些笔误及理解不到位的地方,于是应该重新做下修正。但是由于之前的文章散落在blog上的各处,而篇幅又都比较长,实在懒得修改原来的内容。幸好我通常都会将blog上的文章先在本地编辑,所以干脆直接修改本地的版本吧,然后整理在一块。
所以呢,一方面重新检查下原来翻译的内容,对其中不当的地方予以纠正,同时又添加了一些理解性的文字。另一方面,当初在翻译这些论文时,实际上刻意留下了一篇Chubby,主要是因为这个涉及到比较基础的分布式理论,当时理解起来显得要比其他几篇吃力,索性就留了下来等以后再翻。现在呢,在看完拜占庭将军问题、FLP结论、Leases、Paxos这几个之后,我想重新阅读Chubby的时机也到了,所以呢这次就加上了Chubby这篇。
此外,如果要构成完整的SMAQ体系,实际上还应该加上Sawzall,不过这篇相对容易理解一些,同时网上也已存在比较好的中文版本,所以不再翻译,当然其他几篇网上也基本上都存在中文版本(GFS,MapReduce,BigTable应该很容易找到,关于Cluster和Chubby的则比较难找),但是它们是如此之重要,为了加深印象和理解,我还是自行将它们翻译了出来,当然这也是当时的初衷了。
当然呢,google的这些论文都已经是几年前发表的了。之后google又发表的一些诸如Pregel,Dremel,Percolator,MegaStore,则相对小众一些,所以就未纳入。正是google发表GFS,MapReduce,BigTable,Chubby,Sawzall这些论文之后,才衍生出Hadoop这样的一个海量数据处理的生态系统,形成了与之对应的诸如HDFS,Hadoop MapReduce,Hbase,Zookeeper,Pig,Hive这样的一些系统。要理解这样的一些系统,也还是要从google最原始的论文开始作为起点。
最后呢,其实我们可以看到在这些论文发表之后,一方面google本身的系统在不断演化,另一方面,开源实现与原始论文相较具体实现也有所不同,同时当开源软件应用到不同公司之后,这些公司本身会发展出适应自身应用的版本。具体来说:比如google的GFS在历经10多年的发展之后,与原始论文相比已发生了很多变化;再比如Hadoop已提出MapReduce 2,致力于更高的可用性、扩展性及通用性;Facebook对Hadoop针对自身应用特点进行了各种改进,主要是针对其实时性应用的特点,增加可用性及降低延迟。所以在这些论文的最后,又附上了一个ACM针对GFS的起源及演化,对google的Sean Quinlan所做的一次访谈。这个访谈已发表在ACM Queue上,对于理解一个系统是如何在漫长的时间内不断修正最初的设计、满足各种需求,如何一步步地演化是十分有益的。
由于时间能力及经验的限制,这些内容难免有偏颇及错误之处,欢迎指出其中的不当之处。同时为方便对比英文版阅读,在文章最后附上了对应的英文原版论文。最后,为组成一个完整的海量数据的存储计算和查询模型,又加上了关于Sawzall(对崮山路上走9遍翻译的版本做了一些修正及补充)及SMAQ的文章。
作者:phylips@bmy
出处:http://bbs.xjtu.edu.cn
分享到:
相关推荐
以上六篇论文详细阐述了Google在分布式计算领域的创新理念和技术实践,对于理解大数据处理的原理和优化方法,以及开发类似系统的工程师来说,具有极高的学习价值。通过对这些论文的深入研究,我们可以掌握如何构建可...
这三篇论文对于理解Google如何处理和利用海量数据至关重要。MapReduce提供了一种处理大数据的编程范式,GFS保证了数据的可靠存储,而Bigtable则提供了高效的结构化数据存储解决方案。这些技术不仅在Google内部广泛...
总之,这篇基于Hadoop的海量数据存储平台设计的论文,不仅介绍了Hadoop的基本原理和技术,还提供了一套设计和实施大数据存储平台的思路,对于学习者和从业者来说,是一份宝贵的参考资料。通过深入学习,读者不仅可以...
标题中的“google三大论文中文版”指的是谷歌公司在早期发布的一系列关于大规模数据处理和分布式计算的重要学术论文的中文翻译版本。这些论文对于现代云计算和大数据技术的发展产生了深远影响。以下是这三篇论文的...
3. **Google文件系统(GFS)**:这是另一篇重要的Google论文,提出了一个专为大规模分布式计算设计的文件系统。GFS提供高吞吐量的数据访问,能够处理大量数据的故障恢复,是许多Google大数据处理服务的基础。 通过...
《Google三大论文》是互联网巨头Google在早期发布的一系列开创性技术论文,这些论文对现代分布式计算和大数据处理产生了深远影响。以下是对这三篇论文的详细解读: 1. **《The Google File System》(谷歌文件系统...
这三篇论文分别奠定了Hadoop、MapReduce和Bigtable的基础,对于理解分布式计算、大规模数据存储以及云计算有着深远的影响。以下是这些论文的详细介绍: 1. **MapReduce编程模型**:这是2004年发表的一篇由Google的...
在处理海量数据时,传统的单机方法存在明显的存储和计算瓶颈。由于存储容量和计算能力的限制,单机系统在数据量增大到一定程度后,无法有效处理大规模数据集。特别是在日志数据分析、用户行为预测等领域,大量的数据...
这三篇论文分别深入探讨了分布式计算模型、大规模文件系统和结构化数据存储系统的设计与实现。 1. **MapReduce**:由Jeffrey Dean和Sanjay Ghemawat共同撰写,这篇论文提出了一个简化大型集群上数据处理的编程模型...
谷歌论文经典中文版介绍了谷歌公司在数据处理、存储和分布式系统设计方面的几篇重要论文,这些论文不仅阐述了谷歌当时的核心技术,同时也催生了后来开源大数据处理系统的发展。下面将详细介绍每篇论文及其对应的技术...
这三篇论文分别是《MapReduce:大规模数据集的并行计算》、《Bigtable:一个结构化数据的分布式存储系统》和《The Google File System》(GFS)。让我们详细探讨这些论文中的核心概念和知识点。 首先,我们来看...
谷歌大数据论文五宝是了解大数据领域核心技术的重要文献,这些论文揭示了谷歌在处理海量数据时的创新思维和实践。这五篇论文主要包括“分布式文件系统(GFS)”、“Bigtable:一个结构化数据的分布式存储系统”、...
谷歌的三大论文——“分布式文件系统GFS”、“大规模数据管理Bigtable”和“并行计算模型MapReduce”——是大数据处理领域的里程碑式工作,它们为现代云计算和大数据技术奠定了基础。这三篇论文详细阐述了谷歌如何...
在IT行业中,Google的大数据处理技术是不可或缺的重要组成部分。...下载这三篇论文的中文版,可以帮助我们深入理解Google在大数据处理领域的创新思维和技术实现,对于学习和研究大数据技术具有极高的价值。