<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    sinoly

       :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      29 隨筆 :: 76 文章 :: 189 評論 :: 0 Trackbacks

    ????作者:江南白衣,原文出處:?http://m.tkk7.com/calvin/archive/2007/01/31/96844.html?,轉(zhuǎn)載請保留出處。

    ??? 如果說Google的搜索引擎是免費(fèi)的早餐,Gmail們是免費(fèi)的午餐的話,

    ??? http://labs.google.com/papers/ 就是Google給開發(fā)人員們的一份免費(fèi)的晚餐。

    ??? 不過,咋看著一桌飯菜可能不知道從哪吃起,在自己不熟悉的領(lǐng)域啃英文也不是一件愉快的事情。

    一、一份PPT與四份中文翻譯?

    ??? 幸好,有一位面試google不第的老兄,自我爆發(fā)搞了一份Google Interal的PPT:

    ??? http://cbcg.net/talks/googleinternals/index.html,大家鼠標(biāo)點(diǎn)點(diǎn)就能跟著他匆匆過一遍google的內(nèi)部架構(gòu)。

    ???然后又有崮崮山路上走9遍(http://sharp838.mblogger.cn)與美人他爹(http://my.donews.com/eraera/),翻譯了其中最重要的四份論文:

    二、Google帝國的技術(shù)基石

    ???? Google帝國,便建立在大約45萬臺的Server上,其中大部分都是"cheap x86 boxes"。而這45萬臺Server,則建立于下面的key infrastructure:

    ???? 1.GFS(Google File System):

    ???? GFS是適用于大規(guī)模分布式數(shù)據(jù)處理應(yīng)用的分布式文件系統(tǒng),是Google一切的基礎(chǔ),它基于普通的硬件設(shè)備,實(shí)現(xiàn)了容錯的設(shè)計(jì)與極高的性能。????

    ???? 李開復(fù)說:Google最厲害的技術(shù)是它的storage。我認(rèn)為學(xué)計(jì)算機(jī)的學(xué)生都應(yīng)該看看這篇文章(再次感謝翻譯的兄弟)。????
    ????

    ???? 它以64M為一個Chunk(Block),每個Chunk至少存在于三臺機(jī)器上,交互的簡單過程見:
    ?????
    ????

    ???? 2.MapReduce

    ??? MapReduce是一個分布式處理海量數(shù)據(jù)集的編程模式,讓程序自動分布到一個由普通機(jī)器組成的超大集群上并發(fā)執(zhí)行。像Grep-style job,日志分析等都可以考慮采用它。

    ????MapReduce的run-time系統(tǒng)會解決輸入數(shù)據(jù)的分布細(xì)節(jié),跨越機(jī)器集群的程序執(zhí)行調(diào)度,處理機(jī)器的失效,并且管理機(jī)器之間的通訊請求。這樣的模式允許程序員可以不需要有什么并發(fā)處理或者分布式系統(tǒng)的經(jīng)驗(yàn),就可以處理超大的分布式系統(tǒng)得資源。

    ???? 我自己接觸MapReduce是Lucene->Nutch->Hadoop的路線。
    ???? Hadoop是Lucene之父Doug Cutting的又一力作,是Java版本的分布式文件系統(tǒng)與Map/Reduce實(shí)現(xiàn)。
    ???? Hadoop的文檔并不詳細(xì),再看一遍Google這篇中文版的論文,一切清晰很多(又一次感謝翻譯的兄弟)。????

    ???? 孟巖也有一篇很清晰的博客:Map Reduce - the Free Lunch is not over?

    ???? 3.BigTable

    ???? BigTable 是Google Style的數(shù)據(jù)庫,使用結(jié)構(gòu)化的文件來存儲數(shù)據(jù)。
    ???? 雖然不支持關(guān)系型數(shù)據(jù)查詢,但卻是建立GFS/MapReduce基礎(chǔ)上的,分布式存儲大規(guī)模結(jié)構(gòu)化數(shù)據(jù)的方案。

    ???? BigTable是一個稀疏的,多維的,排序的Map,每個Cell由行關(guān)鍵字,列關(guān)鍵字和時間戳三維定位.Cell的內(nèi)容是一個不解釋的字符串。
    ???? 比如下表存儲每個網(wǎng)站的內(nèi)容與被其他網(wǎng)站的反向連接的文本。
    ???? 反向的URL com.cnn.www(www.cnn.com)是行的關(guān)鍵字;contents列存儲網(wǎng)頁內(nèi)容,每個內(nèi)容有一個時間戳;因?yàn)橛袃蓚€反向連接,所以archor列族有兩列:anchor:cnnsi.com和anchhor:my.look.ca,列族的概念,使得表可以橫向擴(kuò)展,archor的列數(shù)并不固定。

    ???

    ??? 為了并發(fā)讀寫,熱區(qū),HA等考慮,BigTable當(dāng)然不會存在逗號分割的文本文件中,,是存儲在一種叫SSTable的數(shù)據(jù)庫結(jié)構(gòu)上,并有BMDiff和Zippy兩種不同側(cè)重點(diǎn)的壓縮算法。

    4.Sawzall

    ??? Sawzall是一種建立在MapReduce基礎(chǔ)上的領(lǐng)域語言,可以被認(rèn)為是分布式的awk。它的程序控制結(jié)構(gòu)(if,while)與C語言無異,但它的領(lǐng)域語言語義使它完成相同功能的代碼與MapReduce的C++代碼相比簡化了10倍不止。

    1????proto?"cvsstat.proto"
    2????submits:?table?sum[hour:?int]?of?count:?int;
    3????log:?ChangelistLog?=?input;
    4????hour:?int?=?hourof(log.time)
    5????emit?submits[hour]?<-?1;

    ????
    ???? 天書嗎?慢慢看吧。

    ???? 我們這次是統(tǒng)計(jì)在每天24小時里CVS提交的次數(shù)。
    ???? 首先它的變量定義類似Pascal? (i:int=0; 即定義變量i,類型為int,初始值為0)

    ???? 1:引入cvsstat.proto協(xié)議描述,作用見后。
    ???? 2:定義int數(shù)組submits 存放統(tǒng)計(jì)結(jié)果,用hour作下標(biāo)。
    ???? 3.循環(huán)的將文件輸入轉(zhuǎn)換為ChangelistLog 類型,存儲在log變量里,類型及轉(zhuǎn)換方法在前面的cvsstat.proto描述。
    ???? 4.取出changlog中的提交時間log.time的hour值。
    ???? 5.emit聚合,在sumits結(jié)果數(shù)組里,為該hour的提交數(shù)加1,然后自動循環(huán)下一個輸入。

    ???? 居然讀懂了,其中1、2步是準(zhǔn)備與定義,3、4步是Map,第5步是Reduce。

    三.?小結(jié):

    ? 本文只是簡單的介紹Google的技術(shù)概貌,大家知道以后除了可作談資外沒有任何作用,我們真正要學(xué)習(xí)的骨血,是論文里如何解決高并發(fā),高可靠性等的設(shè)計(jì)思路和細(xì)節(jié).....



    posted on 2007-02-02 09:00 sinoly 閱讀(406) 評論(0)  編輯  收藏 所屬分類: java技術(shù)
    主站蜘蛛池模板: 亚洲欧洲精品成人久久奇米网 | 亚洲精品国产专区91在线| 中国国语毛片免费观看视频| 四虎国产精品免费久久影院| 亚洲成a人无码亚洲成www牛牛| 全免费一级毛片在线播放| 亚洲国产精品成人AV在线| 永久久久免费浮力影院| 在线精品自拍亚洲第一区| 国产婷婷高清在线观看免费| 黄色a级免费网站| 久久久久一级精品亚洲国产成人综合AV区 | 妞干网免费观看视频| 亚洲精品无码国产片| 国产在线观看www鲁啊鲁免费| 狼色精品人妻在线视频免费| 亚洲一区二区精品视频| 国产激情免费视频在线观看| 亚洲视频小说图片| 丁香花在线观看免费观看| 亚洲av午夜国产精品无码中文字 | 精品亚洲成α人无码成α在线观看| 一级毛片免费在线观看网站| 亚洲VA成无码人在线观看天堂| 久9热免费精品视频在线观看| 亚洲国产日韩在线一区| 美女被免费视频网站a国产| 一区二区三区在线免费| 亚洲网站免费观看| 日本高清免费不卡在线| 一个人免费视频在线观看www| 亚洲精品视频免费在线观看| 国产免费黄色大片| 在线观看黄片免费入口不卡| 亚洲最大在线观看| 一本久到久久亚洲综合| 久久午夜免费鲁丝片| 美女视频免费看一区二区| 久久久久亚洲精品影视| 蜜桃精品免费久久久久影院| a色毛片免费视频|