google云計(jì)算體系架構(gòu)_第1頁(yè)
google云計(jì)算體系架構(gòu)_第2頁(yè)
google云計(jì)算體系架構(gòu)_第3頁(yè)
google云計(jì)算體系架構(gòu)_第4頁(yè)
google云計(jì)算體系架構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩90頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Google云計(jì)算原理2ReachedOurGoal

認(rèn)識(shí)云計(jì)算(理解)

理解Google云計(jì)算實(shí)現(xiàn)原理(難點(diǎn))

可獨(dú)立在GAE上開發(fā)云服務(wù)應(yīng)用

了解TMF?以及云未來的發(fā)展(了解)3初識(shí)云計(jì)算1Google云計(jì)算原理2GAE平臺(tái)部署云服務(wù)3提綱TMForum對(duì)云態(tài)度44Wehaveadream……愿景:

計(jì)算機(jī)的服務(wù)能力可以作為一種商品進(jìn)行流通。就像水、電、氣一樣取之方便,費(fèi)用低廉5云計(jì)算定義

圖:云計(jì)算概念模型云計(jì)算:是一種商業(yè)計(jì)算模型。它將計(jì)算任務(wù)分布在大量計(jì)算機(jī)構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠按需獲取計(jì)算力、存儲(chǔ)空間和信息服務(wù)。6云計(jì)算服務(wù)的部署形式IaaS基礎(chǔ)設(shè)施云(代表:亞馬遜的S3)SaaS應(yīng)用云(代表:salesforce的CRM)PaaS平臺(tái)云(代表:GoogleAppEngine)私有云(數(shù)據(jù)中心–內(nèi)部網(wǎng))公共云(服務(wù)提供商–互連網(wǎng))混合云(公共和私有)Xasaservice7Amazon云計(jì)算1GB數(shù)據(jù)存放1個(gè)月為0.15美元每個(gè)服務(wù)器租用1小時(shí)為0.1美元Amazon的IaaS云計(jì)算思路彈性計(jì)算云EC2為企業(yè)提供計(jì)算服務(wù)簡(jiǎn)單存儲(chǔ)服務(wù)S3為企業(yè)提供存儲(chǔ)服務(wù)Amazon的IaaS運(yùn)用實(shí)例亞馬遜IaaS應(yīng)用案例:紐約時(shí)報(bào)使用亞馬遜云計(jì)算服務(wù)效果:在不到24個(gè)小時(shí)的時(shí)間里處理了1100萬(wàn)篇文章費(fèi)用:累計(jì)花費(fèi)240美元利用自己服務(wù)器時(shí)間:數(shù)月時(shí)間費(fèi)用:多得多的費(fèi)用89Google云計(jì)算Google的云計(jì)算思路應(yīng)用向互聯(lián)網(wǎng)遷移數(shù)據(jù)向互聯(lián)網(wǎng)遷移計(jì)算能力向互聯(lián)網(wǎng)遷移存儲(chǔ)空間向互聯(lián)網(wǎng)遷移“瀏覽器=操作系統(tǒng)”10隸屬PaaS的Google云計(jì)算Google云計(jì)算PaaS屬于部署在云端的應(yīng)用執(zhí)行環(huán)境支持Python和Java兩種語(yǔ)言通過SDK調(diào)用Google的各種服務(wù)。如GoogleMap、Mail等用戶可快速、廉價(jià)(可免費(fèi)使用限定的流量和存儲(chǔ))地部署自己開發(fā)的應(yīng)用(如創(chuàng)新的網(wǎng)站、游戲等)在下一章將具體介紹GAE具體的應(yīng)用11Google云計(jì)算SaaS隸屬SaaS的Google云計(jì)算提供在線“Word、Excel、PPT”提供在線MAP提供在線日歷管理……Google云計(jì)算平臺(tái)技術(shù)架構(gòu)分布式文件系統(tǒng)GoogleDistributedFileSystem并行數(shù)據(jù)處理MapReduce分布式鎖Chubby結(jié)構(gòu)化數(shù)據(jù)表BigTable12Google如何實(shí)現(xiàn)云?Google云計(jì)算應(yīng)用MapReduceBigTableGFSChubby將在第二章詳細(xì)介紹13云計(jì)算概念入門Q&A14初識(shí)云計(jì)算1Google云計(jì)算原理2GAE平臺(tái)部署云服務(wù)3提綱TMForum對(duì)云態(tài)度415Google云計(jì)算原理分布式文件系統(tǒng)GFS并行數(shù)據(jù)處理模型MapReduce分布式鎖服務(wù)Chubby分布式數(shù)據(jù)庫(kù)BigTable1234Google云計(jì)算應(yīng)用MapReduceBigTableGFSChubby1617Google設(shè)計(jì)GFS的動(dòng)機(jī)Google需要支持海量數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)購(gòu)置昂貴的分布式文件系統(tǒng)與硬件?是否可以在一堆廉價(jià)且不可靠的硬件上構(gòu)建可靠的分布式文件系統(tǒng)?GFS設(shè)計(jì)原則:機(jī)器失效不能視為異常現(xiàn)象能應(yīng)付對(duì)大型/超大型文件處理支持大量用戶同時(shí)訪問GFS組成GFS集群:一個(gè)的Master和多個(gè)ChunkServer(塊服務(wù)器)組成,并可以多客戶端Client訪問GFS設(shè)計(jì)要點(diǎn)每個(gè)文件拆成若干個(gè)64M文件塊Chunk組成每個(gè)Chunk都由Master根據(jù)其創(chuàng)建時(shí)間指定ChunkHandle(64)文件塊被保存在ChunkServer本地磁盤中缺省情況下3處熱備份Chunk塊文件18GFS的設(shè)計(jì)思路Client職責(zé)包含文件系統(tǒng)的API負(fù)責(zé)和ChunkServer和Master通信代表應(yīng)用程序進(jìn)行讀寫操作Client和Master進(jìn)行元數(shù)據(jù)操作Client和ChunkServer進(jìn)行文件數(shù)據(jù)操作Master職責(zé)負(fù)責(zé)管理所有文件系統(tǒng)的元數(shù)據(jù)元數(shù)據(jù)包括:命名空間,訪問控制信息,文件到Chunk的映射信息等ChunkServer職責(zé)負(fù)責(zé)存儲(chǔ)chunk文件塊Linux文件系統(tǒng)19GFS的設(shè)計(jì)思路20GFS的系統(tǒng)架構(gòu)應(yīng)用程序GFS客戶端GFS數(shù)據(jù)塊服務(wù)器Linux文件系統(tǒng)GFS主服務(wù)器文件命名空間Chunk2EEE/foo/barGFS數(shù)據(jù)塊服務(wù)器Linux文件系統(tǒng)………………標(biāo)注:數(shù)據(jù)信息控制信息文件名,chunk索引向數(shù)據(jù)塊服務(wù)器發(fā)指令返回?cái)?shù)據(jù)塊服務(wù)器狀態(tài)Chunk句柄和位置Chunk句柄,查找數(shù)據(jù)返回?cái)?shù)據(jù)信息21Question文件為什么要被化分為64M?Answer:1、可以減少Client和Master的之間的交互,減少M(fèi)aster的負(fù)載2、客戶端可以在一個(gè)Chunk中完成許多操作3、可以減少TCP三次握手時(shí)間。另外這些信息都要被Master管理的缺點(diǎn):有冗余采用中心服務(wù)器模式Master可以方便地增加ChunkServerMaster掌握系統(tǒng)內(nèi)所有ChunkServer的情況,方便進(jìn)行負(fù)載均衡不存在元數(shù)據(jù)的一致性問題不緩存數(shù)據(jù)必要性:Client流式讀取,非重復(fù)讀寫可行性:Master本身管理多個(gè)Server,很復(fù)雜22GFS架構(gòu)的特點(diǎn)ChunkServer容錯(cuò)每個(gè)Chunk有多個(gè)存儲(chǔ)副本(默認(rèn)是3個(gè)),分別存儲(chǔ)于不通的服務(wù)器上每個(gè)Chunk又劃分為若干Block(64KB),每個(gè)Block對(duì)應(yīng)一個(gè)32bit的校驗(yàn)碼,保證數(shù)據(jù)正確(若某個(gè)Block錯(cuò)誤,則轉(zhuǎn)移至其他Chunk副本)Master容錯(cuò)三類元數(shù)據(jù):命名空間(目錄結(jié)構(gòu))、Chunk與文件名的映射以及Chunk副本的位置信息前兩類通過日志提供容錯(cuò),Chunk副本信息存儲(chǔ)于其它ChunkServer。這樣Master出現(xiàn)故障時(shí)可恢復(fù)23GFS容錯(cuò)機(jī)制24GFS實(shí)驗(yàn)效果圖ChunkServer1ChunkServer2ChunkServer16……MasterClient1Client2Client16路由器1路由器2Master25Google云計(jì)算原理分布式文件系統(tǒng)GFS并行數(shù)據(jù)處理模型MapReduce分布式鎖服務(wù)Chubby分布式數(shù)據(jù)庫(kù)BigTable1234Google云計(jì)算應(yīng)用MapReduceBigTableGFSChubby摩爾定律正在走向終結(jié)…單芯片容納晶體管的增加,對(duì)制造工藝提出要求CPU制造18nm技術(shù),電子泄漏問題CPU主頻已達(dá)3GHz時(shí)代,難以繼續(xù)提高散熱問題(發(fā)熱太大,且難以驅(qū)散)功耗太高26并行計(jì)算基礎(chǔ)未來的發(fā)展:多核27什么樣的問題適合并行計(jì)算?斐波那契序列(Fibonacci)X計(jì)算URL訪問頻率YMap函數(shù)處理日志中web頁(yè)面請(qǐng)求的記錄,然后輸出(URL,1)。Reduce函數(shù)把相同URL的value值都累加起來,產(chǎn)生(URL,記錄總數(shù))結(jié)果。Google擁有海量數(shù)據(jù),并且需要快速處理什么是MapReduce?28Google為什么需要MapReduce?Google全球Web數(shù)據(jù)郵件數(shù)據(jù)地圖數(shù)據(jù)衛(wèi)星照片……GoogleMapReduce架構(gòu)設(shè)計(jì)師JeffreyDeanJefferyDean設(shè)計(jì)一個(gè)新的抽象模型,使我們只要執(zhí)行的簡(jiǎn)單計(jì)算,而將并行化、容錯(cuò)、數(shù)據(jù)分布、負(fù)載均衡的等雜亂細(xì)節(jié)放在一個(gè)庫(kù)里,使并行編程時(shí)不必關(guān)心它們這就是MapReduce29Google并行運(yùn)算編程模型MapMapMap……原始數(shù)據(jù)1原始數(shù)據(jù)2原始數(shù)據(jù)MReduceReduce結(jié)果1結(jié)果R……1、在編程的時(shí)候,開發(fā)者需要編寫兩個(gè)函數(shù):Map:(in_key,in_value)Reduce:(key,[value1,value2…])2、Map操作產(chǎn)生結(jié)果是<key,value>對(duì)3、在Map,Reduce之間系統(tǒng)把同一Key歸類到Reduce3、Reduce操作對(duì)相同的Key進(jìn)行歸類處理30MapReduce實(shí)現(xiàn)機(jī)制用戶程序(1)分割(1)分割(1)分割Master工作機(jī)M工作機(jī)M工作機(jī)M工作機(jī)R工作機(jī)R(2)指派Map(2)指派Reduce片段1片段4片段3片段2輸入文件(3)Read(4)本地存儲(chǔ)輸出文件0輸出文件1Map狀態(tài)本地存儲(chǔ)Reduce狀態(tài)輸出文件(5)遠(yuǎn)程讀取(6)寫入文件31單詞計(jì)數(shù)

體現(xiàn)M/R算法HelloWorld

ByeWorldHelloChina

ByeChinaHelloSi-tech

ByeSi-tech輸入數(shù)據(jù):MapReduceHello:3Bye:3China:2World:2Si-tech:2Map(Key,Value){for(eachworld‘world’invalue) collect(‘world’,1);}Reduce(Key,Value[]){intcount=0;for(eachwinvalue) count++;collect(Key,count);}1)32HelloWorld

ByeWorldHelloChina

ByeChinaHelloSi-tech

ByeSi-tech2)分割分割分割HelloWorld

ByeWorldHelloChina

ByeChinaHelloSi-tech

ByeSi-techKEYVALUEKEYVALUEKEYVALUE3)HelloWorld

ByeWorldHelloChina

ByeChinaHelloSi-tech

ByeSi-techMAPMAPMAP<Hello1><World1><Bye1><World1><Hello1><China1><Bye1><China1><Hello1><Si-tech1><Bye1><Si-tech1>33<Hello1><World1><Bye1><World1><Hello1><China1><Bye1><China1><Hello1><Si-tech1><Bye1><Si-tech1>4)Map輸出Fold<Hello1><World1><Bye1><World1><Hello1><China1><Bye1><China1><Hello1><Si-tech1><Bye1><Si-tech1>Fold輸出34<Hello3><Bye3><China2><World2><Si-tech2><Hello1><World1><Bye1><World1><Hello1><China1><Bye1><China1><Hello1><Si-tech1><Bye1><Si-tech1>Fold輸出5)Reduce輸出Reduce背景MapReduce設(shè)計(jì)初衷:由普通PC組成的集群來處理超大規(guī)模的數(shù)據(jù),所以有效的錯(cuò)誤保障機(jī)制是必不可少Worker容錯(cuò)Master周期性的ping每個(gè)workerMaster容錯(cuò)Master周期性的將Master的數(shù)據(jù)結(jié)構(gòu)的寫入磁盤,即檢查點(diǎn)(checkpoint)Master數(shù)據(jù)結(jié)構(gòu)包括:Map和Reduce任務(wù)的狀態(tài)(空閑、工作中或完成),以及Worker機(jī)器(非空閑任務(wù)的機(jī)器)的標(biāo)識(shí)。35MapReduce容錯(cuò)機(jī)制36Google云計(jì)算原理分布式文件系統(tǒng)GFS并行數(shù)據(jù)處理模型MapReduce分布式鎖服務(wù)Chubby分布式數(shù)據(jù)庫(kù)BigTable1234Google云計(jì)算應(yīng)用MapReduceBigTableGFSChubby37初識(shí)云計(jì)算1Google云計(jì)算原理2GAE平臺(tái)部署云服務(wù)3提綱TMForum對(duì)云態(tài)度438GAE部署云應(yīng)用Q&A課堂演示部署過程39初識(shí)云計(jì)算1Google云計(jì)算原理2GAE平臺(tái)部署云服務(wù)3提綱TMForum對(duì)云態(tài)度440TMFSeeSunnyFutureInTeleManagementWorldAmericanTMF簡(jiǎn)介1、電信管理論壇,非盈利聯(lián)盟組織2、會(huì)員遍布全球195個(gè)國(guó)家,700+會(huì)員公司3、我們公司也是會(huì)員,享受會(huì)員權(quán)利4、業(yè)界廣泛使用的eTOM,SID,TAM,NGOSSTMF最新框架技術(shù)云計(jì)算的出現(xiàn)并快速發(fā)展,一方面是虛擬化技術(shù)、分布式計(jì)算等技術(shù)發(fā)展的結(jié)果,另一方面也是互聯(lián)網(wǎng)應(yīng)用不斷豐富趨勢(shì)的體現(xiàn)。目前,雖然有Amazon、Google、IBM、Microsoft等在推,但云計(jì)算還沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。云計(jì)算平臺(tái)已經(jīng)為很多用戶所使用,但是云計(jì)算在行業(yè)標(biāo)準(zhǔn)、數(shù)據(jù)安全、服務(wù)質(zhì)量、應(yīng)用軟件等方面也面臨著各種問題,這些問題的解決需要技術(shù)的進(jìn)一步發(fā)展?,F(xiàn)有的研究大多集中于云體系結(jié)構(gòu)、云存儲(chǔ)、云數(shù)據(jù)管理、虛擬化、云安全、編程模型等技術(shù)41結(jié)束語(yǔ)42云計(jì)算ThankYou!Q&A概念回顧Google云計(jì)算背景分布式文件系統(tǒng)GFS并行數(shù)據(jù)處理模型MapReduce分布式鎖服務(wù)Chubby分布式數(shù)據(jù)庫(kù)BigTableGoogleAppEngineGoogle云計(jì)算技術(shù)小結(jié)主要內(nèi)容()Google的云計(jì)算44分布式文件系統(tǒng)GFSGFS的容錯(cuò)措施有哪些?GFS的容錯(cuò)機(jī)制ChunkServer容錯(cuò)每個(gè)Chunk有多個(gè)存儲(chǔ)副本(通常是3個(gè)),分別存儲(chǔ)于不通的服務(wù)器上每個(gè)Chunk又劃分為若干Block(64KB),每個(gè)Block對(duì)應(yīng)一個(gè)32bit的校驗(yàn)碼,保證數(shù)據(jù)正確(若某個(gè)Block錯(cuò)誤,則轉(zhuǎn)移至其他Chunk副本)Master容錯(cuò)(影子節(jié)點(diǎn)熱備)三類元數(shù)據(jù):命名空間(目錄結(jié)構(gòu))、Chunk與文件名的映射以及Chunk副本的位置信息前兩類通過日志提供容錯(cuò),Chunk副本信息存儲(chǔ)于ChunkServer,Master出現(xiàn)故障時(shí)可恢復(fù)46GFS的容錯(cuò)方法并行數(shù)據(jù)處理模型MapReduce1、處理流程2、分片方式MapReduce處理流程中

各類文件的存儲(chǔ)位置在哪

里?MapReduce的容錯(cuò)方法?MapReduce的處理優(yōu)化

方法?MapReduce僅能對(duì)GFS之上的文件進(jìn)行處理嗎?問題討論所有步驟均可控,可靈活處理各類分布式問題靈活的MapReduce除了排序,新增兩道題目使用MapReduce實(shí)現(xiàn)倒排索引輸入:100個(gè)文本文檔輸出:倒排索引任務(wù)實(shí)現(xiàn)算法,給出數(shù)據(jù)結(jié)構(gòu)描述、執(zhí)行過程描述等作業(yè)要求同“排序”要求盡可能提高執(zhí)行效率,節(jié)約網(wǎng)絡(luò)IO帶寬云計(jì)算應(yīng)用實(shí)踐作業(yè)調(diào)整除了排序,新增兩道題目使用MapReduce實(shí)現(xiàn)快速查詢查詢目標(biāo)是存儲(chǔ)在BigTable之中的網(wǎng)頁(yè)數(shù)據(jù),給定關(guān)鍵字,快速查詢含有該內(nèi)容的網(wǎng)頁(yè)(假定沒有倒排索引)要求設(shè)計(jì)BigTable存儲(chǔ)方式(表含有哪些列、無(wú)需關(guān)心數(shù)據(jù)如何取得)設(shè)計(jì)快速查詢的MapReduce處理方法作業(yè)要求同“排序”云計(jì)算應(yīng)用實(shí)踐作業(yè)調(diào)整Google的云計(jì)算分布式鎖服務(wù)Chubby52主要用于解決分布式一致性問題在一個(gè)分布式系統(tǒng)中,有一組的Process,它們需要確定一個(gè)Value。于是每個(gè)Process都提出了一個(gè)Value,一致性就是指只有其中的一個(gè)Value能夠被選中作為最后確定的值,并且當(dāng)這個(gè)值被選出來以后,所有的Process都需要被通知到粗粒度的分布式鎖服務(wù)Chubby是Google為解決分布式一致性問題而設(shè)計(jì)的提供粗粒度鎖服務(wù)的文件系統(tǒng)其他分布式系統(tǒng)可以使用它對(duì)共享資源的訪問進(jìn)行同步53Chubby是什么?需要實(shí)現(xiàn)的特性高可用性高可靠性支持粗粒度的建議性鎖服務(wù)支持小規(guī)模文件直接存儲(chǔ)不作考慮的特性高性能存儲(chǔ)能力54Chubby的設(shè)計(jì)目標(biāo)55Chubby的系統(tǒng)架構(gòu)文件系統(tǒng)中文件的權(quán)限文件系統(tǒng)中文件操作的權(quán)限有哪些?這些權(quán)限之間的互斥關(guān)系是怎樣的?Chubby系統(tǒng)本質(zhì)上就是一個(gè)分布式的、存儲(chǔ)大量小文件的文件系統(tǒng)Chubby中的鎖就是文件在GFS的例子中,創(chuàng)建文件就是進(jìn)行“加鎖”操作,創(chuàng)建文件成功的那個(gè)server其實(shí)就是搶占到了“鎖”用戶通過打開、關(guān)閉和存取文件,獲取共享鎖或者獨(dú)占鎖;并且通過通信機(jī)制,向用戶發(fā)送更新信息57Chubby文件系統(tǒng)58Client與Chubby的通信協(xié)議主節(jié)點(diǎn)選舉獨(dú)占鎖共享鎖數(shù)據(jù)存取應(yīng)用獲取GFSChunkServer信息元數(shù)據(jù)存儲(chǔ)……59Chubby的應(yīng)用Goolge的云計(jì)算分布式數(shù)據(jù)表BigTable60為什么需要設(shè)計(jì)BigTable?Google需要存儲(chǔ)的數(shù)據(jù)種類繁多網(wǎng)頁(yè),地圖數(shù)據(jù),郵件……如何使用統(tǒng)一的方式存儲(chǔ)各類數(shù)據(jù)?海量的服務(wù)請(qǐng)求如何快速地從海量信息中尋找需要的數(shù)據(jù)?BigTable:基于GFS和Chubby的分布式存儲(chǔ)系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化存儲(chǔ)和管理與GFS的聯(lián)系61BigTable數(shù)據(jù)存儲(chǔ)可靠性高速數(shù)據(jù)檢索與讀取存儲(chǔ)海量的記錄(若干TB)可以保存記錄的多個(gè)版本62Google的需求與寫操作相比,數(shù)據(jù)記錄讀操作占絕大多數(shù)工作負(fù)載單個(gè)節(jié)點(diǎn)故障損壞是常見的磁盤是廉價(jià)的可以不提供標(biāo)準(zhǔn)接口Google既能控制數(shù)據(jù)庫(kù)設(shè)計(jì),又能進(jìn)行應(yīng)用系統(tǒng)設(shè)計(jì)63假設(shè)具有廣泛的適應(yīng)性支持Google系列產(chǎn)品的存儲(chǔ)需求具有很強(qiáng)的可擴(kuò)展性根據(jù)需要隨時(shí)加入或撤銷服務(wù)器應(yīng)對(duì)不斷增多的訪問請(qǐng)求高可用性單個(gè)節(jié)點(diǎn)易損,但要確保幾乎所有的情況下系統(tǒng)都可用簡(jiǎn)單性簡(jiǎn)單的底層系統(tǒng)可減少系統(tǒng)出錯(cuò)概率,為上層開發(fā)帶來便利64設(shè)計(jì)目標(biāo)總體上,與關(guān)系數(shù)據(jù)庫(kù)中的表類似65邏輯視圖RowKeyTimeStampColumnContentsColumnAnchorColumn“mime”my.look.ca“n.www”T9CNNT8CNN.COMT6“<html>..“Text/htmlT5“<html>..“t3“<html>..“關(guān)系數(shù)據(jù)庫(kù)中的表是什么樣的?有什么特征?關(guān)系數(shù)據(jù)庫(kù)中的表設(shè)計(jì)需要遵循什么原則?行每行數(shù)據(jù)有一個(gè)可排序的關(guān)鍵字和任意列項(xiàng)字符串、整數(shù)、二進(jìn)制串甚至可串行化的結(jié)構(gòu)都可以作為行鍵表按照行鍵的“逐字節(jié)排序”順序?qū)π羞M(jìn)行有序化處理表內(nèi)數(shù)據(jù)非常‘稀疏’,不同的行的列的數(shù)完全目可以大不相同URL是較為常見的行鍵,存儲(chǔ)時(shí)需要倒排統(tǒng)一地址域的網(wǎng)頁(yè)連續(xù)存儲(chǔ),便于查找、分析和壓縮66數(shù)據(jù)模型/index.asp→com.baidu.mp3/index.asp列特定含義的數(shù)據(jù)的集合,如圖片、鏈接等可將多個(gè)列歸并為一組,稱為族(family)采用族:限定詞的語(yǔ)法規(guī)則進(jìn)行定義fileattr:owning_group”,“fileattr:owning_user”,etc同一個(gè)族的數(shù)據(jù)被壓縮在一起保存族是必須的,是BigTable中訪問控制的基本單元67數(shù)據(jù)模型時(shí)間戳保存不同時(shí)期的數(shù)據(jù),如“網(wǎng)頁(yè)快照”“Abigtable”表中的列可以不受限制地增長(zhǎng)表中的數(shù)據(jù)幾乎可以無(wú)限地增加68數(shù)據(jù)模型通過(row,col,timestamp)查詢通過(row,col,MOST_RECENT)查詢無(wú)數(shù)據(jù)校驗(yàn)每行都可存儲(chǔ)任意數(shù)目的列BigTable不對(duì)列的最少數(shù)目進(jìn)行約束任意類型的數(shù)據(jù)均可存儲(chǔ)BigTable將所有數(shù)據(jù)均看作為字符串?dāng)?shù)據(jù)的有效性校驗(yàn)由構(gòu)建于其上的應(yīng)用系統(tǒng)完成一致性針對(duì)同一行的多個(gè)操作可以分組合并不支持對(duì)多行進(jìn)行修改的操作符69數(shù)據(jù)模型70物理視圖RowKeyTimeStampColumn:ContentsCn.wwwT6“<html>..”T5“<html>..”T3“<html>..”RowKeyTimeStampColumn:AnchorCn.wwwT9Anchor:CNNT5Anchor:my.look.caCNN.COMRowKeyTimeStampColumn:mimeCn.wwwT6text/htmlRowKeyTimeStampColumnContentsColumnAnchorColumn“mime”my.look.ca“n.www”T9CNNT8CNN.COMT6“<html>..“Text/htmlT5“<html>..“t3“<html>..“邏輯上的“表”被劃分為若干子表(Tablet)每個(gè)Tablet由多個(gè)SSTable文件組成SSTable文件存儲(chǔ)在GFS之上每個(gè)子表存儲(chǔ)了table的一部分行元數(shù)據(jù):起始行鍵、終止行鍵如果子表體積超過了閾值(如200M),則進(jìn)行分割71物理視圖72體系結(jié)構(gòu)為每個(gè)子表服務(wù)器分配子表,對(duì)外提供服務(wù)與GFS垃圾回收進(jìn)行交互,收回廢棄的SSTable探測(cè)子表服務(wù)器的故障與恢復(fù)負(fù)載均衡73主節(jié)點(diǎn)的職責(zé)有效緩解單點(diǎn)故障74子表服務(wù)器故障75子表服務(wù)器故障76子表服務(wù)器故障77數(shù)據(jù)訪問方式任何對(duì)子表的寫操作都會(huì)記錄到一個(gè)存儲(chǔ)在GFS之上的commitlog中每個(gè)子表服務(wù)器上所有子表變化對(duì)應(yīng)于一個(gè)commitlog新的數(shù)據(jù)存儲(chǔ)到子表服務(wù)器的內(nèi)存(memtable)中次壓縮舊數(shù)據(jù)存儲(chǔ)在SSTable中,而新數(shù)據(jù)存放在memtable中當(dāng)memtable體積超過一定閾值,將形成SSTable,并寫入GFS每個(gè)tablet對(duì)應(yīng)多個(gè)SSTable78數(shù)據(jù)寫的流程tablet含有多個(gè)SSTable導(dǎo)致查詢效率低合并壓縮操作讀取多個(gè)SSTable,創(chuàng)建一個(gè)新的SSTable來保持其中的最新數(shù)據(jù)舊的SSTable刪除如果合并壓縮操作完成后,tablet只包含一個(gè)SSTable,那么該操作也稱為主壓縮79合并壓縮80數(shù)據(jù)存儲(chǔ)與讀取流程新的故障子表服務(wù)器內(nèi)存中的memtable丟失恢復(fù)方法按照tablet將該服務(wù)器對(duì)應(yīng)的日志分片為每個(gè)失效tablet分配新的子表服務(wù)器新子表服務(wù)器讀取對(duì)應(yīng)的分段commitlog,并按照日志修改tablet刪除commit

log中已實(shí)施的內(nèi)容重新對(duì)外提供服務(wù)81子表服務(wù)器故障恢復(fù)局部性群組(LocalityGroup)根據(jù)需要,將原本不存儲(chǔ)在一起的數(shù)據(jù),以列族為單位存儲(chǔ)至單獨(dú)的子表如用戶對(duì)網(wǎng)站排名、語(yǔ)言等分析信息感興趣,那么可以將這些列族放至單獨(dú)的子表,減少無(wú)用信息讀取,改善存取效率布隆過濾器(BloomFilter)什么是布隆過濾器?判斷某個(gè)元素是否隸屬于集合優(yōu)點(diǎn):誤判概率低,其存儲(chǔ)空間僅為Hash表的1/8至1/4用于判斷列鍵是否位于SSTable中,快速確定某個(gè)列鍵的位置82性能優(yōu)化83BigTable小結(jié)Google云計(jì)算架構(gòu)中GFS、MapReduce和BigTable中是否存在集群節(jié)點(diǎn)復(fù)用的情況?如何復(fù)用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論