Google File System
Google有Google File System;Doug Cutting在Nutch中把Google FS实现了,最后这个项
目从nutch中分出来,成为了现在的Hadoop — Hadoop Distributed FileSystem(HDFS)
(Java);Google 两个共同创始人的两个大学同窗(印度人)Anand Rajaraman和Venky
Harinarayan搞了个Kosmix的搜索引擎,然后将他们的GFS-like FileSystem — Kosmos (
C++)FS捐献给开源社区。
(Google FS的论文发表在03年)
Map-Reduce
有了强大的分布式文件系统,Google遇到的问题就是怎么才能让公司所有的程序员都学会
些分布式计算的程序呢?于是,那些Google工程师们从lisp和其他函数式编程语言中的映
射和化简操作中得到灵感,搞出了Map/Reduce这一套并行计算的框架。Map/Reduce被Googl
e拿来重新了Google Search Engine的整个索引系统。而Doug Cutting同样用Java将这一套
实现和HDFS合在一起成为Hadoop的Core。(附:Hadoop目前被很多美国大学搞云计算、Dat
a-Intensive Scalable Computing做基础。)
(Map/Reduce的论文发表在04年)
BigTable
有了强大的存储,有了强大的计算能力,剩下的Google要面对的是:它的应用中有很多结
构化、半结构化的数据,如何高效地管理这些结构化、半结构化的数据呢?Google需要的
是一个分布式的类DBMS的系统,于是催生了BigTable这个东西。开源社区用HBase和Hypert
able两种不同的语言分别实现了类BigTable的系统。这两个语言分别是Java和C++。很有趣
的是,Hypertable的开发人员原来是跟Hbase一起搞的,但是似乎Hypertable不爽Java的效
率,就出来立山头了。不过这两个团队经常一起吃饭讨论。
(BigTable的论文发表在06年,其中有个作者好像是中国人。)
Sawzall
针对大量数据集的分析,单单靠底层的系统API进行操作是十分不方便的,于是Google基于
Map/Reduce实现了语法类似于java和c的语言—Sawzall。而Yahoo在06年雇佣了Doug
cutting之后也很care Hadoop这套类Google的存储、计算能力。于是Yahoo! Research在
猪年5.1期间放出了类SQL语法的语言Pig。此外微软似乎也有类似产品Dryad。
Google:Interpreting the Data: Parallel Analysis with Sawzall
http://labs.google.com/papers/sawzall-sciprog.pdf
Microsoft:Dryad: Distributed Data-Parallel Programs from Sequential Building
Blocks
http://research.microsoft.com/users/mbudiu/eurosys07.pdf
Protocol Buffer
同样有趣的是,Google在Sawzall这篇文章中提到的Google用来让多种语言进行通讯的Prot
ocol Buffer在Facebook贡献的开源项目Thrift中被类似的实现了。(Facebook在最近几个
月会开源它基于Hadoop的存储计算框架—Hive。)
Chubby lock service
在Google这种loosely-coupled的分布式系统中,需要一种分布式锁服务来保证系统的一致
性。于是Google有了Chubby lock service。而同样是Yahoo! Research向开源贡献了Zook
eeper,一个类似Google Chubby的项目。(Yahoo!果然是一个很神奇的公司。也不难理解
为什么微软要花那么大的力气来买Yahoo了!微软要的就是这帮人!)
回到Hadoop上,由这个项目催生的很多子项目也是尽展hadoop的能力。
Mahout:一个利用Map/Reduce的机器学习算法库。基于Stanford 06年在nips上发表的一篇
文章"Map/Reduce for machine learning on multicore"。有对机器学习感兴趣的同学可
以看看。
http://www.cs.stanford.edu/people/ang//papers/nips06-mapreducemulticore.pdf
Hamma:一个同样也是利用Map/Reduce的矩阵计算包。目前还是Apache的孵化项目。
DLucene:一个利用Map/Reduce的distributed lucene。在04年还是06年,Doug Cutting在
maillist上提出过。最近在Maillist上有个人重新提出,并通过投票进入孵化状态。
……
Thanks To Open Source 。。。
附:
Hadoop:http://hadoop.apache.org/core/
KFS:http://kosmosfs.sourceforge.net/
HBase:http://hadoop.apache.org/hbase/
Hypertable:http://www.hypertable.org/
Mahout:http://lucene.apache.org/mahout/
Pig:http://incubator.apache.org/pig/
Zookeeper:http://sourceforge.net/projects/zookeeper
Thrift:http://developers.facebook.com/thrift/
分享到:
相关推荐
Open Source Intelligence Methods and Tools focuses on building a deep understanding of how to exploit open source intelligence (OSINT) techniques, methods, and tools to acquire information from ...
You can save a substantial sums of money by replacing just a few commercial software titles with free and open source solutions. Learn how with Pro Freeware and Open Source Solutions for Business ...
微软著名的C++大师Herb Sutter在2005年初的时候曾经写过一篇重量级的文章:”The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software“,预言OO之后软件开发将要面临的又一次重大变革-并行计算...
总结一下,Virtuoso OpenSource是一个高性能的数据库系统,尤其适合处理知识图谱和RDF数据,如Freebase。通过其强大的SPARQL支持和丰富的API,开发人员可以在Linux环境中搭建起强大的知识存储和检索平台。在实际应用...
《Using Zend Framework 3 - Open Free Source Book》是一本专注于 Zend Framework 3 的技术书籍,提供给开发者免费阅读。这个资源对于想要深入理解和掌握 Zend Framework 3 这个开源PHP框架的人来说极具价值。由于...
标题提到的"free3of9_downcc_FREE3OF9下载",是指提供了一个免费的"FREE3OF9"条形码字体下载服务。这种字体是为了方便用户在电脑上生成Code 39条形码而设计的。通常,你可以在文档处理软件(如Microsoft Word或Adobe...
由于安装文件压缩大于110M,所以分了两个资源来上传,所以一定要注意要把这两个资源一起下载后,然后用命令cat x* > file.zip合成一个文件后,再进行常规的unzip解压缩,就可以解出一个dmg的mac版的安装文件,双击就...
### 论文《No Free Lunch Theorems for Optimization》核心知识点解析 #### 一、引言与背景 本文探讨了一类重要理论——无免费午餐定理(No Free Lunch Theorems,简称NFL定理),该理论揭示了优化算法与所解决的...
根据自由软件基金会(Free Software Foundation, FSF)的定义,用户拥有以下四种基本自由:运行程序的自由、研究并改变程序使其满足个人需求的自由、重新发布副本的自由以及改进程序并公开发布的自由。 ### 许可证...
Internet-enabled GIS Using Free and Open Source Tools 介绍了国外开源GIS解决方案,包括web服务器,客户端,数据库等。如果想学习开源框架下GIS解决方案,这是不错选择
IFNuke® is a free, Open Source Web Application Framework and Dynamic CMS 比dotnetnuke轻量级的CMS
Notifu is a tool that displays a yellow pop-up balloon in the system notification area, better known as the tray. It is free and open source, give it a try!
We will help you extend your knowledge of Java and the J2EE framework so that you can begin using the millions of dollars of free research and development just waiting to be utilized. Not ...
It has been tested on 64bit versions of XP, Vista and Windows 7 as well. IceChat is a very user friendly program that can be setup in a matter of a minutes. IceChat is capable of connecting to ...
of Linux gave the real boost to the Free and Open Source Software (FOSS1) philosophy, since it was proved that it was able to produce software that was able to compete with commercially produced ...