久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

免費(fèi)的晚餐

 大夢(mèng)平生 2007-02-01
 作者:江南白衣,,原文出處: http://www./calvin/archive/2007/01/31/96844.html ,,轉(zhuǎn)載請(qǐng)保留出處。

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

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

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

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

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

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

    《MapRedue:在超大集群上的簡(jiǎn)易數(shù)據(jù)處理》--Simplified Data Processing on Large Clusters

    《The Google File System》
 
    《海量數(shù)據(jù)分析:Sawzall并行處理》--Interpreting the Data: Parallel Analysis with Sawzall

    《Bigtable:結(jié)構(gòu)化數(shù)據(jù)的分布存儲(chǔ)系統(tǒng)》--A Distributed Storage System for Structured Data


     Google帝國(guó),,便建立在大約45萬(wàn)臺(tái)的Server上,其中大部分都是"cheap x86 boxes",。而這45萬(wàn)臺(tái)Server,,則建立于下面的key infrastructure:

     1.GFS(Google File System):

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

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

     它以64M為一個(gè)Chunk(Block),每個(gè)Chunk至少存在于三臺(tái)機(jī)器上,,交互的簡(jiǎn)單過(guò)程見(jiàn):
     
    

     2.MapReduce

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

    MapReduce的run-time系統(tǒng)會(huì)解決輸入數(shù)據(jù)的分布細(xì)節(jié),跨越機(jī)器集群的程序執(zhí)行調(diào)度,,處理機(jī)器的失效,,并且管理機(jī)器之間的通訊請(qǐng)求。這樣的模式允許程序員可以不需要有什么并發(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ù)庫(kù),,使用結(jié)構(gòu)化的文件來(lái)存儲(chǔ)數(shù)據(jù)。
     雖然不支持關(guān)系型數(shù)據(jù)查詢,,但卻是建立GFS/MapReduce基礎(chǔ)上的,,分布式存儲(chǔ)大規(guī)模結(jié)構(gòu)化數(shù)據(jù)的方案。

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

   

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

4.Sawzall

    Sawzall是一種建立在MapReduce基礎(chǔ)上的領(lǐng)域語(yǔ)言,,可以被認(rèn)為是分布式的awk。它的程序控制結(jié)構(gòu)(if,while)與C語(yǔ)言無(wú)異,,但它的領(lǐng)域語(yǔ)言語(yǔ)義使它完成相同功能的代碼與MapReduce的C++代碼相比簡(jiǎn)化了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;

    
     天書(shū)嗎?慢慢看吧。

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

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

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

5. 小結(jié):

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

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多