云計算(典藏版)課件 第2章 Google云計算原理與應用(三)_第1頁
云計算(典藏版)課件 第2章 Google云計算原理與應用(三)_第2頁
云計算(典藏版)課件 第2章 Google云計算原理與應用(三)_第3頁
云計算(典藏版)課件 第2章 Google云計算原理與應用(三)_第4頁
云計算(典藏版)課件 第2章 Google云計算原理與應用(三)_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章Google云計算原理與應用of311高級人工智能人才培養(yǎng)叢書2.1Google文件系統(tǒng)GFS2.2分布式數(shù)據(jù)處理MapReduce2.3分布式鎖服務Chubby2.4分布式結(jié)構(gòu)化數(shù)據(jù)表Bigtable2.5分布式存儲系統(tǒng)Megastore2.6

大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper2.7海量數(shù)據(jù)的交互式分析工具Dremel2.8內(nèi)存大數(shù)據(jù)分析系統(tǒng)PowerDrill2.9Google應用程序引擎2.5分布式存儲系統(tǒng)Megastore2.5.1設(shè)計目標及方案選擇2.5.2Megastore數(shù)據(jù)模型2.5.3Megastore中的事務及并發(fā)控制2.5.4Megastore基本架構(gòu)2.5.5核心技術(shù)——復制2.5.6產(chǎn)品性能及控制措施針對可用性的要求,實現(xiàn)了一個同步的、容錯的、適合遠距離傳輸?shù)膹椭茩C制。針對可擴展性的要求,將整個大的數(shù)據(jù)分割成很多小的數(shù)據(jù)分區(qū),每個數(shù)據(jù)分區(qū)連同它自身的日志存放在NoSQL數(shù)據(jù)庫中,具體來說就是存放在Bigtable中。設(shè)計目標及方案選擇2.5分布式存儲系統(tǒng)Megastore設(shè)計一種介于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫和NoSQL之間的存儲技術(shù),盡可能達到高可用性和高可擴展性的統(tǒng)一。方法一設(shè)計目標方法二3《云計算》第三版配套PPT課件數(shù)據(jù)的分區(qū)和復制2.5分布式存儲系統(tǒng)Megastore在Megastore中,這些小的數(shù)據(jù)分區(qū)被稱為實體組集(EntityGroups)。每個實體組集包含若干的實體組(EntityGroup,相當于分區(qū)中表的概念)。一個實體組中包含很多的實體(Entity,相當于表中記錄的概念)。4《云計算》第三版配套PPT課件2.5分布式存儲系統(tǒng)Megastore2.5.1設(shè)計目標及方案選擇2.5.2Megastore數(shù)據(jù)模型2.5.3Megastore中的事務及并發(fā)控制2.5.4Megastore基本架構(gòu)2.5.5核心技術(shù)——復制2.5.6產(chǎn)品性能及控制措施62.5分布式存儲系統(tǒng)Megastore傳統(tǒng)的關(guān)系型數(shù)據(jù)庫不合適的三個原因傳統(tǒng)的關(guān)系型數(shù)據(jù)庫是通過連接(Join)來滿足用戶的需求的,但是就Megastore而言,這種數(shù)據(jù)模型是不合適的,主要有以下三個原因:原因1對于高負載的交互式應用來說,可預期的性能提升要比使用一種代價高昂的查詢語言所帶來的好處多原因2Megastore所面對的應用是讀遠多于寫,因此好的選擇是將讀操作所需要做的工作盡可能地轉(zhuǎn)移到寫操作上原因3在Bigtable這樣的鍵/值存儲系統(tǒng)中存儲和查詢級聯(lián)數(shù)據(jù)(HierarchicalData)是很方便的《云計算》第三版配套PPT課件Megastore數(shù)據(jù)模型怎么設(shè)計?82.5分布式存儲系統(tǒng)Megastore細粒度控制的數(shù)據(jù)模型和模式語言同關(guān)系型數(shù)據(jù)庫一樣,Megastore的數(shù)據(jù)模型是在模式(schema)中定義的且是強類型的(stronglytyped)每個模式都由一系列的表(tables)構(gòu)成,表又包含有一系列的實體(entities),每實體中包含一系列屬性(properties)屬性是命名的且具有類型,這些類型包括字符型(strings)、數(shù)字類型(numbers)或者Google的ProtocolBuffers。Google團隊設(shè)計的Megastore數(shù)據(jù)模型《云計算》第三版配套PPT課件92.5分布式存儲系統(tǒng)Megastore照片共享服務數(shù)據(jù)模型實例表Photo就是一個子表,因為它聲明了一個外鍵User則是一個根表一個Megastore實例中可以有若干個不同的根表,表示不同類型的實體組集三種不同屬性設(shè)置,既有必須的(如user_id),也有可選的(如thumbnail_url)Photo中的可重復類型的tag屬性《云計算》第三版配套PPT課件102.5分布式存儲系統(tǒng)MegastoreMegastore索引局部索引定義在單個實體組中,作用域僅限于單個實體組(如PhotosByTime)可以橫跨多個實體組集進行數(shù)據(jù)讀取操作(如PhotosByTag)全局索引主要兩類額外索引STORING子句(STORINGClause)可重復的索引(RepeatedIndexes)內(nèi)聯(lián)索引(InlineIndexes)《云計算》第三版配套PPT課件112.5分布式存儲系統(tǒng)MegastoreBigtable中存儲情況行鍵(RowKey)UPhoto.timePhoto.tagPhoto._url101John101,50012:30:01Dinner,Paris…101,50212:15:22Betty,Paris…102MaryBigtable的列名實際上是表名和屬性名結(jié)合在一起得到,不同表中實體可存儲在同一個Bigtable行中《云計算》第三版配套PPT課件2.5分布式存儲系統(tǒng)Megastore2.5.1設(shè)計目標及方案選擇2.5.2Megastore數(shù)據(jù)模型2.5.3Megastore中的事務及并發(fā)控制2.5.4Megastore基本架構(gòu)2.5.5核心技術(shù)——復制2.5.6產(chǎn)品性能及控制措施13Megastore提供的三種讀currentsnapshotinconsistent總是在單個實體組中完成總是在單個實體組中完成系統(tǒng)取出已知的最后一個完整提交的事務的時間戳,接著從這個位置讀數(shù)據(jù)忽略日志的狀態(tài)直接讀取最新的值2.5分布式存儲系統(tǒng)Megastore《云計算》第三版配套PPT課件14完整的事務周期讀應用邏輯提交生效清除獲取最后一次提交的事務的時間戳和日志位置從Bigtable讀取且聚集數(shù)據(jù)到日志入口使用Paxos達到一致,將個入口追加到日志將數(shù)據(jù)更新到Bigtable中的實體和索引清理不再需要的數(shù)據(jù)2.5分布式存儲系統(tǒng)Megastore《云計算》第三版配套PPT課件152.5分布式存儲系統(tǒng)MegastoreMegastore中的事務機制《云計算》第三版配套PPT課件2.5分布式存儲系統(tǒng)Megastore2.5.1設(shè)計目標及方案選擇2.5.2Megastore數(shù)據(jù)模型2.5.3Megastore中的事務及并發(fā)控制2.5.4Megastore基本架構(gòu)2.5.5核心技術(shù)——復制2.5.6產(chǎn)品性能及控制措施172.5分布式存儲系統(tǒng)MegastoreMegastore基本架構(gòu)完整副本(FullReplica)見證者副本(WitnessReplica)只讀副本(Read-onlyReplica)在Megastore中共有三種副本《云計算》第三版配套PPT課件182.5分布式存儲系統(tǒng)Megastore快速讀與快速寫快速讀快速寫利用本地讀取實現(xiàn)快速讀,帶來更好的用戶體驗及更低的延遲關(guān)鍵是保證選擇的副本上數(shù)據(jù)是最新的協(xié)調(diào)者是一個服務,該服務分布在每個副本的數(shù)據(jù)中心里面。它的主要作用就是跟蹤一個實體組集合協(xié)調(diào)者的狀態(tài)是由寫算法來保證如果一次寫成功,那么下一次寫的時候就跳過準備過程,直接進入接受階段Megastore沒有使用專門的主服務器,而是使用leadersleader主要是來裁決哪個寫入的值可以獲取0號提議客戶端、網(wǎng)絡及Bigtable的故障都會導致一個寫操作處于不確定的狀態(tài)《云計算》第三版配套PPT課件2.5分布式存儲系統(tǒng)Megastore2.5.1設(shè)計目標及方案選擇2.5.2Megastore數(shù)據(jù)模型2.5.3Megastore中的事務及并發(fā)控制2.5.4Megastore基本架構(gòu)2.5.5核心技術(shù)——復制2.5.6產(chǎn)品性能及控制措施202.5分布式存儲系統(tǒng)Megastore復制的日志每個副本都存有記錄所有更新的數(shù)據(jù)。Megastore允許副本不按順序接受日志,這些日志將獨立的存儲在Bigtable中。預寫式日志《云計算》第三版配套PPT課件212.5分布式存儲系統(tǒng)Megastore數(shù)據(jù)讀取本地查詢發(fā)現(xiàn)位置追趕驗證查詢數(shù)據(jù)《云計算》第三版配套PPT課件222.5分布式存儲系統(tǒng)Megastore數(shù)據(jù)寫入接受leader準備接受失效生效《云計算》第三版配套PPT課件232.5分布式存儲系統(tǒng)Megastore協(xié)調(diào)者的可用性協(xié)調(diào)者在系統(tǒng)中是比較重要的——協(xié)調(diào)者的進程運行在每個數(shù)據(jù)中心。每次的寫操作中都要涉及協(xié)調(diào)者,因此協(xié)調(diào)者的故障將會導致系統(tǒng)的不可用Megastore使用了Chubby鎖服務,為了處理請求,一個協(xié)調(diào)者必須持有多數(shù)鎖。一旦因為出現(xiàn)問題導致它丟失了大部分鎖,協(xié)調(diào)者就會恢復到一個默認保守狀態(tài)除了可用性問題,對于協(xié)調(diào)者的讀寫協(xié)議必須滿足一系列的競爭條件《云計算》第三版配套PPT課件2.5分布式存儲系統(tǒng)Megastore2.5.1設(shè)計目標及方案選擇2.5.2Megastore數(shù)據(jù)模型2.5.3Megastore中的事務及并發(fā)控制2.5.4Megastore基本架構(gòu)2.5.5核心技術(shù)——復制2.5.6產(chǎn)品性能及控制措施252.5分布式存儲系統(tǒng)Megastore可用性的分布情況Megastore在Google中已經(jīng)部署和使用了若干年,有超過100個產(chǎn)品使用Megastore作為其存儲系統(tǒng)從圖中可以看出,絕大多數(shù)產(chǎn)品具有極高的可用性(>99.999%)。這表明Megastore系統(tǒng)的設(shè)計是非常成功的,基本達到了預期目標《云計算》第三版配套PPT課件26產(chǎn)品延遲情況的分布2.5分布式存儲系統(tǒng)Megastore應用程序的平均讀取延遲在萬分之一毫秒之內(nèi),平均寫入延遲在100至400毫秒之間避免Megastore的性能下降,可采取以下三種應對方法:(1)重新選擇路由使客戶端繞開出現(xiàn)問題的副本(2)將出現(xiàn)問題副本上的協(xié)調(diào)者禁用,確保問題的影響降至最小。(3)禁用整個副本《云計算》第三版配套PPT課件2.6

大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper第二章Google云計算原理與應用of3127高級人工智能人才培養(yǎng)叢書2.1Google文件系統(tǒng)GFS2.2分布式數(shù)據(jù)處理MapReduce2.3分布式鎖服務Chubby2.4分布式結(jié)構(gòu)化數(shù)據(jù)表Bigtable2.5分布式存儲系統(tǒng)Megastore2.7海量數(shù)據(jù)的交互式分析工具Dremel2.8內(nèi)存大數(shù)據(jù)分析系統(tǒng)PowerDrill2.9Google應用程序引擎2.6大規(guī)模分布式系統(tǒng)的監(jiān)控

基礎(chǔ)架構(gòu)Dapper2.6.1基本設(shè)計目標2.6.2Dapper監(jiān)控系統(tǒng)簡介2.6.3關(guān)鍵性技術(shù)2.6.4常用Dapper工具2.6.5Dapper使用經(jīng)驗在我們看來很簡單的一次搜索實際上涉及了眾多Google后臺子系統(tǒng),這些子系統(tǒng)的運行狀態(tài)都需要進行監(jiān)控用戶的平均每一次前臺搜索會導致Google的后臺發(fā)生1011次的處理302.6大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper兩個基本要求設(shè)計出的監(jiān)控系統(tǒng)應當能夠?qū)ΡM可能多的Google服務進行監(jiān)控Google的服務是全天候的,如果不能對Google的后臺同樣進行全天候的監(jiān)控很可能會錯過某些無法再現(xiàn)的關(guān)鍵性故障監(jiān)控系統(tǒng)設(shè)計兩個基本要求1.廣泛可部署性(UbiquitousDeployment)2.不間斷的監(jiān)控《云計算》第三版配套PPT課件312.6大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper三個基本設(shè)計目標低開銷這個是廣泛可部署性的必然要求。監(jiān)控系統(tǒng)的開銷越低,對于原系統(tǒng)的影響就越小,系統(tǒng)的開發(fā)人員也就越愿意接受這個監(jiān)控系統(tǒng)。對應用層透明監(jiān)控系統(tǒng)對程序員應當是不可見的。如果監(jiān)控系統(tǒng)的使用需要程序開發(fā)人員對其底層的一些細節(jié)進行調(diào)整才能正常工作的話,這個監(jiān)控系統(tǒng)肯定不是一個完善的監(jiān)控系統(tǒng)??蓴U展性Google的服務增長速度是驚人的,設(shè)計出的系統(tǒng)至少在未來幾年里要能夠滿足Google服務和集群的需求?!对朴嬎恪返谌媾涮譖PT課件2.6大規(guī)模分布式系統(tǒng)的監(jiān)控

基礎(chǔ)架構(gòu)Dapper2.6.1基本設(shè)計目標2.6.2Dapper監(jiān)控系統(tǒng)簡介2.6.3關(guān)鍵性技術(shù)2.6.4常用Dapper工具2.6.5Dapper使用經(jīng)驗332.6大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)DapperDapper監(jiān)控系統(tǒng)的基本概念典型分布式系統(tǒng)的請求及應答過程用戶ABCDE請求X應答XRPC1中間層RPC2前端后臺RPC4RPC3在監(jiān)控系統(tǒng)中記錄下所有這些消息不難,如何將這些消息記錄同特定的請求(本例中的X)關(guān)聯(lián)起來才是分布式監(jiān)控系統(tǒng)設(shè)計中需要解決的關(guān)鍵性問題之一。《云計算》第三版配套PPT課件342.6大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)DapperDapper監(jiān)控系統(tǒng)的三個基本概念監(jiān)控樹(TraceTree)區(qū)間(Span)注釋(Annotation)一個同特定事件相關(guān)的所有消息區(qū)間實際上就是一條記錄注釋主要用來輔助推斷區(qū)間關(guān)系,也可以包含一些自定義的內(nèi)容《云計算》第三版配套PPT課件352.6大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper區(qū)間Helper.Call的詳細信息區(qū)間包含了來自客戶端的注釋信息:“<Start>”、“ClientSend”、“ClientRecv”和“<End>”,也包含了來自服務器端的注釋信息:“ServerRecv”、“foo”和“ServerSend”《云計算》第三版配套PPT課件362.6大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper監(jiān)控信息的匯總(1)將區(qū)間的數(shù)據(jù)寫入到本地的日志文件(2)所有機器上的本地日志文件匯集(3)匯集后的數(shù)據(jù)寫入到Bigtable存儲庫中《云計算》第三版配套PPT課件2.6大規(guī)模分布式系統(tǒng)的監(jiān)控

基礎(chǔ)架構(gòu)Dapper2.6.1基本設(shè)計目標2.6.2Dapper監(jiān)控系統(tǒng)簡介2.6.3關(guān)鍵性技術(shù)2.6.4常用Dapper工具2.6.5Dapper使用經(jīng)驗382.6大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper輕量級核心功能庫最關(guān)鍵的代碼基礎(chǔ)是基本RPC、線程和控制流函數(shù)庫的實現(xiàn)主要功能是實現(xiàn)區(qū)間創(chuàng)建、抽樣和在本地磁盤上記錄日志。將復雜的功能實現(xiàn)限制在一個輕量級的核心功能庫中保證了Dapper的監(jiān)控過程基本對應用層透明。小規(guī)模庫通用線程(UbiquitousThreading)控制流(ControlFlow)RPC代碼庫(RPCLibraryCode)《云計算》第三版配套PPT課件392.6大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper二次抽樣技術(shù)利用二次抽樣技術(shù)成功地解決了低開銷及廣泛可部署性的問題。第一次抽樣第二次抽樣實踐中,設(shè)計人員發(fā)現(xiàn)當抽樣率低至1/1024時也能夠產(chǎn)生足夠多的有效監(jiān)控數(shù)據(jù),即在1024個請求中抽取1個進行監(jiān)控也是可行的,從而可以捕獲有效數(shù)據(jù)發(fā)生在數(shù)據(jù)寫入Bigtable前,具體方法是將監(jiān)控id散列成一個標量z(0≤z≤1),如果某個區(qū)間的z小于事先定義好的匯總抽樣系數(shù),則保留這個區(qū)間并將它寫入Bigtable,否則丟棄《云計算》第三版配套PPT課件2.6大規(guī)模分布式系統(tǒng)的監(jiān)控

基礎(chǔ)架構(gòu)Dapper2.6.1基本設(shè)計目標2.6.2Dapper監(jiān)控系統(tǒng)簡介2.6.3關(guān)鍵性技術(shù)2.6.4常用Dapper工具2.6.5Dapper使用經(jīng)驗412.6大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)DapperDapper存儲APIDapper的“存儲API”簡稱為DAPI,提供了對分散在區(qū)域Dapper存儲庫(DEPOTS)的監(jiān)控記錄的直接訪問。一般有以下三種方式訪問這些記錄。(1)通過監(jiān)控id訪問(AccessbyTraceid)(2)塊訪問(BulkAccess)(3)索引訪問(IndexedAccess)利用全局唯一的監(jiān)控id直接訪問所需的監(jiān)控數(shù)據(jù)借助MapReduce對數(shù)以十億計的Dapper監(jiān)控數(shù)據(jù)的并行訪問Dapper存儲庫支持單索引(SingleIndex)《云計算》第三版配套PPT課件42Dapper用戶界面(1)選擇監(jiān)控對象(2)用戶對這些執(zhí)行模式進行排序并選擇查看更多細節(jié)(3)分布式執(zhí)行模式圖形化描述呈現(xiàn)給用戶《云計算》第三版配套PPT課件2.6大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper43Dapper用戶界面(4)根據(jù)最初選

溫馨提示

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

評論

0/150

提交評論