版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
云計算關鍵技術鄭偉平2021-7-26虛擬化技術內(nèi)容1虛擬化定義2虛擬化分類3全虛擬化與半虛擬化4虛擬化實現(xiàn)5虛擬化技術比較與選型6虛擬化帶來的好處7虛擬化帶來的問題8虛擬化適用范圍9效勞器虛擬化過程2MapReduceMapReduce是一個簡單易用的并行編程模型,它極大簡化了大規(guī)模數(shù)據(jù)處理問題的實現(xiàn)3DivideandConquer“Work〞w1w2w3r1r2r3“Result〞“worker〞“worker〞“worker〞PartitionCombineParallelizationChallengesHowdoweassignworkunitstoworkers?Whatifwehavemoreworkunitsthanworkers?Whatifworkersneedtosharepartialresults?Howdoweaggregatepartialresults?Howdoweknowalltheworkershavefinished?Whatifworkersdie?Whatisthecommonthemeofalloftheseproblems?CommonTheme?Parallelizationproblemsarisefrom:Communicationbetweenworkers(e.g.,toexchangestate)Accesstosharedresources(e.g.,data)Thus,weneedasynchronizationmechanismManagingMultipleWorkersDifficultbecauseWedon’tknowtheorderinwhichworkersrunWedon’tknowwhenworkersinterrupteachotherWedon’tknowtheorderinwhichworkersaccessshareddataThus,weneed:Semaphores(lock,unlock)Conditionalvariables(wait,notify,broadcast)BarriersStill,lotsofproblems:Deadlock,livelock,raceconditions...Diningphilosophers,sleepybarbers,cigarettesmokers...Moralofthestory:becareful!CurrentToolsProgrammingmodelsSharedmemory(pthreads)Messagepassing(MPI)DesignPatternsMaster-slavesProducer-consumerflowsSharedworkqueuesMessagePassingP1P2P3P4P5SharedMemoryP1P2P3P4P5MemorymasterslavesproducerconsumerproducerconsumerworkqueueBut,nowMapreduce!Mapreduce:Parallel/DistributedComputingProgrammingModelInputsplitshuffleoutputTypicalproblemsolvedbyMapReduce讀入數(shù)據(jù):key/value對的記錄格式數(shù)據(jù)Map:從每個記錄里extractsomethingmap(in_key,in_value)->list(out_key,intermediate_value)處理inputkey/valuepair輸出中間結果key/valuepairsShuffle:混排交換數(shù)據(jù)把相同key的中間結果聚集到相同節(jié)點上Reduce:aggregate,summarize,filter,etc.reduce(out_key,list(intermediate_value))->list(out_value)歸并某一個key的所有values,進行計算輸出合并的計算結果(usuallyjustone)輸出結果MapreduceFrameworkMapreduceFrameworkShuffleImplementationPartitionandSortGroupPartitionfunction:hash(key)%reducernumberGroupfunction:sortbykeyExampleuses:distributedgrep
distributedsort
weblink-graphreversalterm-vector/hostwebaccesslogstatsinvertedindexconstructiondocumentclusteringmachinelearningstatisticalmachinetranslation.........ModelisWidelyApplicable
MapReduceProgramsInGoogleSourceTree
GoogleMapReduceArchitectureSingleMasternodeManyworkerbeesManyworkerbeesMapReduceOperationInitialdatasplitinto64MBblocksComputed,results
locallystoredMsendsdata
locationtoRworkersFinaloutputwrittenMasterinformedof
resultlocationsExecutionoverview1.InputfilesaresplitintoMpieces(16to64MB)Manyworkercopiesoftheprogramareforked.2.Onespecialcopy,themaster,assignsmapandreducetaskstoidleslaveworkers3.Mapworkersreadinputsplits,parse(key,value)pairs,applythemapfunction,createbufferedoutputpairs.4.Bufferedoutputpairsareperiodicallywrittentolocaldisk,partitionedintoRregions,locationsofregionsarepassedbacktothemaster.5.Masternotifiesreduceworkeraboutlocations.Workerusesremoteprocedurecallstoreaddatafromlocaldisksofthemapworkers,sortsbyintermediatekeystogroupsamekeyrecordstogether.
Executionoverviewcont’6.Reduceworkerpasseskeypluscorrespondingsetofallintermediatedatatoreducefunction.Theoutputofthereducefunctionisappendedtothefinaloutputfile.7.Whenallmapandreducetasksarecompletedthemasterwakesuptheuserprogram,whichresumestheusercode.FaultTolerance:workersmaster保持一些數(shù)據(jù)結構。它為每個map和reduce任務存儲它們的狀態(tài)(空閑,工作中,完成),和worker機器(非空閑任務的機器)的標識。Masterpingsworkersperiodically.Noresponse:workermarkedasfailed.Completedmaptasksareresettoidlestate,sothattheycanberestarted,becausetheirresults(localtofailedworker)arelost.Completedreducetasksdonotneedtobere-started(outputstoredinglobalfilesystem).Reducetasksarenotifiedofthenewmaptasks,sotheycanreadunreaddatafromthenewlocations.FaultTolerance:MasterMasterwritescheckpointsOnlyonemaster,lesschanceoffailureIfmasterfailes,MapReducetaskaborts.Refinement:RedundantExecutionSlowworkerssignificantlydelaycompletiontimeOtherjobsconsumingresourcesonmachineBaddisksw/softerrorstransferdataslowlySolution:Nearendofphase,spawnbackuptasks
Whicheveronefinishesfirst"wins"DramaticallyshortensjobcompletiontimeRefinement:LocalityOptimization
Masterschedulingpolicy:AsksGFSforlocationsofreplicasofinputfileblocksMaptaskstypicallysplitinto64MB(GFSblocksize)MaptasksscheduledsoGFSinputblockreplicaareonsamemachineorsamerack
EffectThousandsofmachinesreadinputatlocaldiskspeedWithoutthis,rackswitcheslimitreadrateRefinement:SkippingBadRecords
Map/Reducefunctionssometimesfailforparticularinputs
Bestsolutionistodebug&fixNotalwayspossible~third-partysourcelibrariesOnsegmentationfault:SendUDPpackettomasterfromsignalhandlerIncludesequencenumberofrecordbeingprocessedIfmasterseestwofailuresforsamerecord:Nextworker
istoldtoskiptherecord
CompressionofintermediatedataCombiner“Combiner〞functionscanrunonsamemachineasamapperCausesamini-reducephasetooccurbeforetherealreducephase,tosavebandwidthLocalexecutionfordebugging/testingUser-definedcountersOtherRefinementsHadoopMapReduceArchitectureMaster/WorkerModelLoad-balancingbypollingmechanismHistoryofHadoop2004-InitialversionsofwhatisnowHadoopDistributedFileSystemandMap-ReduceimplementedbyDougCutting&MikeCafarellaDecember2005-Nutchportedtothenewframework.Hadooprunsreliablyon20nodes.January2006-DougCuttingjoinsYahoo!February2006-ApacheHadoopprojectofficialstartedtosupportthestandalonedevelopmentofMap-ReduceandHDFS.March2006-FormationoftheYahoo!HadoopteamMay2006-YahoosetsupaHadoopresearchcluster-300nodesApril2006-Sortbenchmarkrunon188nodesin47.9hoursMay2006-Sortbenchmarkrunon500nodesin42hours(betterhardwarethanAprilbenchmark)October2006-Researchclusterreaches600NodesDecember2006-Sorttimes20nodesin1.8hrs,100nodesin3.3hrs,500nodesin5.2hrs,900nodesin7.8January2006-Researchclusterreaches900nodeApril2007-Researchclusters-2clustersof1000nodesSep2021-ScalingHadoopto4000nodesatYahoo!April2021–release0.20.0,manyimprovements,newfeatures,bugfixesandoptimizations.分布式文件系統(tǒng)分布式文件系統(tǒng)特點和根本要求緩存容錯和可擴展性28分布式文件系統(tǒng)的特點和根本要求分布式文件系統(tǒng)的特點為整個網(wǎng)絡上的文件系統(tǒng)資源提供了一個邏輯樹結構,用戶可以拋開文件的實際物理位置,僅通過一定的邏輯關系就可以查找和訪問網(wǎng)絡的共享資源。用戶能夠像訪問本地文件一樣,訪問分布在網(wǎng)絡中多個效勞器上的文件。分布式文件系統(tǒng)的顧客、效勞員和存儲設備分散在各機器上,效勞活動必須跨網(wǎng)完成。存儲設備不是單一的集中數(shù)據(jù)存儲器。分布式文件系統(tǒng)的具體配置和實現(xiàn)可以有很大的不同,有的效勞員運行在專用的效勞器上,有的機器既是效勞員又是顧客。29分布式文件系統(tǒng)的特點和根本要求分布式文件系統(tǒng)的根本要求透明性位置透明性:效勞員和存儲器的多重性和分散性對顧客透明。移動透明性:用戶意識不到資源的移動。性能透明性:當效勞負載在一定范圍內(nèi)變化時,客戶程序可以保持滿意的性能。擴展透明性:文件效勞可以擴充,以滿足負載和網(wǎng)絡規(guī)模的增長。 性能分布式文件系統(tǒng)比常規(guī)文件系統(tǒng)類似〔有時更好〕的性能和可靠性30容錯為了處理暫時的通信錯誤,容錯設計可以基于最多一次性語義無狀態(tài)的效勞器:崩潰重啟時不需恢復平安性身份驗證,訪問控制,平安通道效率:應提供比傳統(tǒng)文件系統(tǒng)相同或更強的性能和可靠性分布式文件系統(tǒng)的特點和根本要求31分布式文件系統(tǒng)的緩存緩存方案的設計需要考慮的問題:緩存的單位問題存儲局部文件的位置如何決定各個顧客緩存中的數(shù)據(jù)是否一致32分布式文件系統(tǒng)的緩存緩存的粒度和地點緩存的粒度:如果數(shù)據(jù)單元(即粒度)愈大,那么下次訪問的數(shù)據(jù)在顧客方的本地找到的可能性愈大,但傳送數(shù)據(jù)的時間和一致性問題也增加了。反之,粒度太小,通信的開銷也隨之增加。緩存的地點在一個各自有主存和磁盤的客戶-效勞器系統(tǒng)中,有四個地方可以用來存儲文件或存儲局部文件:效勞器磁盤、效勞器主存、客戶磁盤〔如果可用的話〕或者客戶主存。33分布式文件系統(tǒng)的緩存更新策略、緩存有效性檢驗和一致性判定本地緩存的數(shù)據(jù)副本是否與原本一致,有兩個根本方法驗證其有效性:顧客發(fā)動的方法。顧客與效勞員聯(lián)系,檢查本地數(shù)據(jù)與原本是否一致。這個方法的關鍵是有效性檢驗的頻度。效勞員發(fā)動的方法。效勞員為每個顧客登記被該顧客緩存的文件或文件的某個局部。當效勞員檢測出可能不一致時,必須做出反響。效勞員發(fā)動方法的一個問題是違背顧客/效勞員模型34容錯和可擴充性可用性與文件復制可恢復性:當對某個文件的操作失敗,或由顧客夭折此操作時,如果文件能轉換到原來的一致狀態(tài),那么說此文件是可恢復的。堅決性:如果當某個存儲器崩潰和存儲介質(zhì)損壞時某個文件能保證完好,那么說此文件是堅決的??捎眯裕喝绻麩o論何時一旦需要就可訪問,甚至在某個機器和存儲器崩潰,或者在發(fā)生通信失效的情況下,某個文件仍然可被訪問,那么這種文件叫做是可用的。35容錯和可擴充性可用性與文件復制文件復制:文件復制是一個冗余措施。這里指的是不同機器上的文件復制,而不是同一機器上不同介質(zhì)上的文件復制(如鏡像磁盤)。文件復制的原因通過對每個文件的獨立備份來增加系統(tǒng)的可靠性。當一個文件效勞器出現(xiàn)問題時,仍允許進行文件訪問;將工作量分配到多個效勞器上,防止運行性能上的瓶頸。36容錯和可擴充性可用性與文件復制用戶需要了解文件復制到何種程度嗎?在文件復制進程中需要到達什么要求呢?文件復制的要求:應對用戶隱匿復制細節(jié)。把一份復制件名字變換成指定的復制件是命名方案的任務。與復制件有關的主要問題是它們的更新。從用戶觀點看,文件的所有復制品代表同一邏輯實體,所以對任何復制件的更新必須反映到所有其他復制件。大多數(shù)情況下,不能放棄文件數(shù)據(jù)的一致性,因此使用復制來增加可用性時還要使用復雜的更新傳播協(xié)議。37容錯和可擴充性可擴充性設計大規(guī)模系統(tǒng)要考慮的問題:首先是有界資源(boundedresources)原理:“從系統(tǒng)的任何局部來的效勞要求應該限于一個常數(shù),此常數(shù)和系統(tǒng)中的節(jié)點數(shù)無關〞。負載和系統(tǒng)規(guī)模成比例的任何效勞員,一旦系統(tǒng)擴充到超過某一范圍那么必然阻塞,再增加資源也緩解不了這個問題。播送是一種使網(wǎng)絡中的每個機器都參加的活動。在播送根底上建立的機構對超大型系統(tǒng)很明顯不實際。網(wǎng)絡擁擠和延遲是大規(guī)模系統(tǒng)的主要障礙。使用緩存和實施放松的共享語義,使跨機器的交互作用最少。38容錯和可擴充性可擴充性設計大規(guī)模系統(tǒng)要考慮的問題:不應當使用集中控制方案和集中的資源建立可擴充的和容錯的系統(tǒng)。分散化的一個重要方面是系統(tǒng)的管理。分配管理職責時,應有利于自治性和對稱性,不干擾分布式系統(tǒng)的連貫性和一致性。將系統(tǒng)劃分為假設干半自治的小組。每個小組包括一些機器和一個專用的小組效勞員。為了盡量減少跨越小組的文件訪問,大多數(shù)時間,每個機器的請求應由其小組效勞員滿足。39HDFS〔HadoopDistributedFileSystem〕Hadoop分布式文件系統(tǒng)(HDFS)被設計成適合運行在通用硬件(commodityhardware)上的分布式文件系統(tǒng)。它和現(xiàn)有的分布式文件系統(tǒng)有很多共同點。但同時,它和其他的分布式文件系統(tǒng)的區(qū)別也是很明顯的。HDFS是一個高度容錯性的系統(tǒng),適合部署在廉價的機器上。HDFS能提供高吞吐量的數(shù)據(jù)訪問,適合大規(guī)模數(shù)據(jù)集上的應用。HDFS放寬了一局部POSIX約束,來實現(xiàn)流式讀取文件系統(tǒng)數(shù)據(jù)的目的。40GoalsofHDFSVeryLargeDistributedFileSystem –10Knodes,100millionfiles,10PB
AssumesCommodityHardware –Filesarereplicatedtohandlehardwarefailure –DetectfailuresandrecoversfromthemOptimizedforBatchProcessing –Datalocationsexposedsothatcomputationscanmovetowheredataresides –ProvidesveryhighaggregatebandwidthUserSpace,runsonheterogeneousOSHDFS采用master/slave架構。一個HDFS集群是由一個Namenode和一定數(shù)目的Datanodes組成。Namenode是一個中心效勞器,負責管理文件系統(tǒng)的名字空間(namespace)以及客戶端對文件的訪問。Namenode執(zhí)行文件系統(tǒng)的名字空間操作,比方翻開、關閉、重命名文件或目錄。它也負責確定數(shù)據(jù)塊到具體Datanode節(jié)點的映射。集群中的Datanode一般是一個節(jié)點一個,負責管理它所在節(jié)點上的存儲。HDFS暴露了文件系統(tǒng)的名字空間,用戶能夠以文件的形式在上面存儲數(shù)據(jù)。從內(nèi)部看,一個文件其實被分成一個或多個數(shù)據(jù)塊,這些塊存儲在一組Datanode上。Datanode負責處理文件系統(tǒng)客戶端的讀寫請求。在Namenode的統(tǒng)一調(diào)度下進行數(shù)據(jù)塊的創(chuàng)立、刪除和復制。43DistributedFileSystemSingleNamespaceforentireclusterDataCoherency –Write-once-read-manyaccessmodel –ClientcanonlyappendtoexistingfilesFilesarebrokenupintoblocks –Typically128MBblocksize –EachblockreplicatedonmultipleDataNodesIntelligentClient –Clientcanfindlocationofblocks –ClientaccessesdatadirectlyfromDataNodeNameNodeMetadataMeta-datainMemory –Theentiremetadataisinmainmemory –Nodemandpagingofmeta-dataTypesofMetadata –Listoffiles –ListofBlocksforeachfile –ListofDataNodesforeachblock –Fileattributes,e.gcreationtime,replicationfactorATransactionLog –Recordsfilecreations,filedeletions.EtcNamenode全權管理數(shù)據(jù)塊的復制,它周期性地從集群中的每個Datanode接收心跳信號和塊狀態(tài)報告(Blockreport)。集群中單一Namenode的結構大大簡化了系統(tǒng)的架構。Namenode是所有HDFS元數(shù)據(jù)的仲裁者和管理者,這樣,用戶數(shù)據(jù)永遠不會流過Namenode。DataNodeABlockServer –Storesdatainthelocalfilesystem(e.g.ext3) –Storesmeta-dataofablock(e.g.CRC) –Servesdataandmeta-datatoClientsBlockReport –PeriodicallysendsareportofallexistingblockstotheNameNodeFacilitatesPipeliningofData –ForwardsdatatootherspecifiedDataNodesBlockPlacementCurrentStrategy
--Onereplicaonlocalnode --Secondreplicaonaremoterack --Thirdreplicaonsameremoterack --AdditionalreplicasarerandomlyplacedClientsreadfromnearestreplicaWouldliketomakethispolicypluggable在大多數(shù)情況下,副本系數(shù)是3HDFS的存放策略是將一個副本存放在本地機架的節(jié)點上,一個副本放在同一機架的另一個節(jié)點上,最后一個副本放在不同機架的節(jié)點上。這種策略減少了機架間的數(shù)據(jù)傳輸,這就提高了寫操作的效率。機架的錯誤遠遠比節(jié)點的錯誤少,所以這個策略不會影響到數(shù)據(jù)的可靠性和可用性。于此同時,因為數(shù)據(jù)塊只放在兩個〔不是三個〕不同的機架上,所以此策略減少了讀取數(shù)據(jù)時需要的網(wǎng)絡傳輸總帶寬。在這種策略下,副本并不是均勻分布在不同的機架上。三分之一的副本在一個節(jié)點上,三分之二的副本在一個機架上,其他副本均勻分布在剩下的機架中,這一策略在不損害數(shù)據(jù)可靠性和讀取性能的情況下改進了寫的性能。48DataCorrectnessUseChecksumstovalidatedata –UseCRC32FileCreation –Clientcomputeschecksumper512byte –DataNodestoresthechecksumFileaccess –ClientretrievesthedataandchecksumfromDataNode –IfValidationfails,ClienttriesotherreplicasNameNodeFailureAsinglepointoffailureTransactionLogstoredinmultipledirectories –Adirectoryonthelocalfilesystem –Adirectoryonaremotefilesystem(NFS/CIFS)HDFS未實現(xiàn)的功能總結:
1、
文件追加寫入,這個功能近期內(nèi)不會實現(xiàn),沒有這個功能會引起當文件尚未關閉的時候,數(shù)據(jù)效勞器死機或者目錄效勞器死機,會引起文件文件喪失,并且不可后續(xù)恢復寫入。
2、
系統(tǒng)快照,一個全系統(tǒng)的快照功能,如果沒有這個功能就不能實現(xiàn)文件系統(tǒng)的回滾操作。
3、
集群負載均衡,均衡策略暫時沒有實現(xiàn),有幾個策略十分有用,比方在某臺數(shù)據(jù)機可能磁盤過低的時候,把該數(shù)據(jù)機上面的一些數(shù)據(jù)轉移到還有很多空間剩余的數(shù)據(jù)機上;當某個文件突然被大量讀寫的時候,動態(tài)增加該文件的冗余因子,并且數(shù)據(jù)塊復制到更多的數(shù)據(jù)機上面,以提高讀取性能。
4、
文件系統(tǒng)的用戶權限,這個也是近期內(nèi)不會實現(xiàn)的了。
5、訪問權限,現(xiàn)在是無限制訪問的,沒有訪問權限控制。
51分布式數(shù)據(jù)庫技術定義特點分類體系結構分片與分布模式結構事務模型分布式數(shù)據(jù)庫的定義分布式數(shù)據(jù)庫的定義通俗地說是物理上分散而邏輯上集中的數(shù)據(jù)庫系統(tǒng)。使用計算機網(wǎng)絡將地理位置分散而管理和控制又需要不同程度集中的多個邏輯單位連接起來,共同組成一個統(tǒng)一的數(shù)據(jù)庫系統(tǒng)??梢钥醋魇菙?shù)據(jù)處理即數(shù)據(jù)庫系統(tǒng)和計算機網(wǎng)絡技術的結合。分布式數(shù)據(jù)庫的特點物理分布性邏輯整體性,不同于分散式數(shù)據(jù)庫,有全局數(shù)據(jù)庫和局部數(shù)據(jù)庫的概念。站點自治性:場地自治,各站點數(shù)據(jù)由本地DBMS管理,具有自治處理能力,完本錢地應用。這一點與多機系統(tǒng)不同。數(shù)據(jù)分布透明性:分片透明、數(shù)據(jù)復制透明、數(shù)據(jù)位置透明。集中與自治相結合的控制機制:局部共享和全局共享一定的數(shù)據(jù)冗余:可靠、可用,單個站點故障不會影響整體。不利于更新,維護本錢高,查詢速度快。事務管理的分布性:全局事務可以分解為假設干子事務。事務的ACID特性受到考驗。分布式數(shù)據(jù)庫的特點分布式數(shù)據(jù)庫的12條準那么本地自治性不依賴于中心站點可連續(xù)操作性位置獨立性數(shù)據(jù)分片獨立性數(shù)據(jù)復制獨立性分布式查詢處理分布式事務處理硬件獨立性操作系統(tǒng)獨立性網(wǎng)絡獨立性數(shù)據(jù)庫管理系統(tǒng)獨立性單個DBMS的本地運算不受多數(shù)據(jù)庫系統(tǒng)中其它DBMS的參加而影響。單個DBMS處理查詢和優(yōu)化查詢的方式不受訪問多數(shù)據(jù)庫的全局查詢執(zhí)行的影響。系統(tǒng)已執(zhí)行或操作在單個DBMS參加或離開多數(shù)據(jù)庫聯(lián)盟時不受危害。分布式數(shù)據(jù)庫的分類按局部數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)模型分類同構型〔homogenous〕DDBS:數(shù)據(jù)模型相同同構同質(zhì)型:各站點上的數(shù)據(jù)模型〔關系、網(wǎng)狀、層次〕相同,且都是同一種DBMS。同構異質(zhì)性:各站點上的數(shù)據(jù)模型〔關系、網(wǎng)狀、層次〕相同,但不是同一種DBMS。異構型〔heterogenous〕DDBS:各站點上的數(shù)據(jù)模型不同。分布式數(shù)據(jù)庫的分類按分布式數(shù)據(jù)庫系統(tǒng)的全局控制類型分類全局控制集中型DDBS:全局控制機制和全局數(shù)據(jù)字典位于一個中心點,中心點完成全局事務的協(xié)調(diào)和局部數(shù)據(jù)庫的轉換全局控制分散型DDBS:全局控制機制和全局數(shù)據(jù)字典位于各個站點上,每個站點都能完成全局事務的協(xié)調(diào)和局部數(shù)據(jù)庫的轉換,每個站點既是全局事務的協(xié)調(diào)者,也是參與者。全局控制可變型DDBS:主從型DDBS,站點有兩類:主站點和從站點,主戰(zhàn)點上包含全局控制機制和全局數(shù)據(jù)字典;輔助站點不包含全局控制機制和全局數(shù)據(jù)字典分布式數(shù)據(jù)庫系統(tǒng)的體系結構全局用戶局部用戶GDDGDBLDDLDBCMGDBMSLDBMS全局用戶局部用戶GDDGDBLDDLDBCMGDBMSLDBMS全局用戶局部用戶GDDGDBLDDLDBCMGDBMSLDBMS網(wǎng)絡包括:局部DB、全局DB局部DBMS和全局DBMS局部DBA和全局DBA局部數(shù)據(jù)字典LDD和全局數(shù)據(jù)字典GDD通信模塊CM分片:又稱為數(shù)據(jù)分割,有三種分片方式水平分片:按特定條件將全局關系劃分成假設干互不相交的片段。通過對全局關系進行選擇運算得到。垂直分片:把全局關系的屬性集分成假設干子集。通過對全局關系進行投影運算獲得?;旌戏制荷鲜鰞煞N方法的混合。分片規(guī)那么完備性條件:不多,即全局關系的所有數(shù)據(jù)必須映射到各個片段中,不允許有屬于全局關系的數(shù)據(jù)不屬于它的任何一個片段??芍貥嫍l件:不少,即必須保證能夠由同一個全局關系的各個片段來重構該全局關系。水平:合并垂直:連接不相交條件:一個全局關系被分割后所得的各個數(shù)據(jù)片段不重疊。分布式數(shù)據(jù)庫中的分片與分布分布:根據(jù)需要將數(shù)據(jù)劃分成邏輯片段,按照某種策略將這些片段分散存儲在各個站點上,策略:集中式:所有數(shù)據(jù)片段放在同一個站點上。對數(shù)據(jù)控制和管理容易數(shù)據(jù)一致性和完整性能夠得到保證系統(tǒng)對數(shù)據(jù)站點依賴過重數(shù)據(jù)站點故障將導致整個系統(tǒng)崩潰檢索效率低分割式:所有數(shù)據(jù)只有一份,經(jīng)過邏輯分割后形成多個片段,每個片段放在某個特定的站點上。充分利用各個站點的存儲能力每個站點可自治檢索和修改數(shù)據(jù),并發(fā)能力強局部站點故障,系統(tǒng)仍能運行,可靠性高全局查詢和修改,響應時間長,網(wǎng)絡通信代價較大全復制式:全局數(shù)據(jù)有多個副本,每個站點上都有一個完整的數(shù)據(jù)副本??煽啃愿卟樵兯俣瓤鞌?shù)據(jù)同步困難系統(tǒng)冗余大混合式:全部數(shù)據(jù)被分為假設干個子集,每個子集安置在不同的站點上,但任一站點都不保存全部數(shù)據(jù)。靈活性好系統(tǒng)效率高復雜分布式數(shù)據(jù)庫系統(tǒng)的模式結構全局DBMSDB局部內(nèi)模式局部概念模式DB局部內(nèi)模式局部概念模式局部DBMS分配模式分片模式全局概念模式全局外模式全局外模式全局外模式集中式數(shù)據(jù)庫分布式數(shù)據(jù)庫全局外模式:全局應用的用戶視圖。全局概念模式:描述分布式數(shù)據(jù)庫中全局數(shù)據(jù)的邏輯結構和數(shù)據(jù)特性,是分布式數(shù)據(jù)庫的全局概念視圖。分片模式:描述全局數(shù)據(jù)的邏輯劃分。分配模式:根據(jù)選定的數(shù)據(jù)分配策略,定義各片段的物理存放位置,確定是否冗余及冗余的程度。局部概念模式:是全局概念模式的子集,由分配在同一站點上的一個或多個邏輯片段組成局部內(nèi)模式:是分布式數(shù)據(jù)庫關于物理數(shù)據(jù)庫的描述,跟集中式內(nèi)模式類似,但是不僅包含本站點數(shù)據(jù)的存儲描述,還包括全局數(shù)據(jù)在本站點的存儲描述全局關系R的邏輯片段與物理影像分布式事務模型事務的ACID局部事務、全局事務局部事務管理器保證本地節(jié)點上執(zhí)行的事務的ACID本次事務可能是全局事務的一局部維護一個易于恢復的日志參與適當?shù)牟l(fā)控制事務協(xié)調(diào)器協(xié)調(diào)該節(jié)點上發(fā)起的事務〔全局或局部〕的執(zhí)行啟動事務的執(zhí)行分發(fā)事務協(xié)調(diào)事務的終止〔在所有節(jié)點上提交或中止〕分布式事務模型67TC1TCnTMnTM1事務管理器事務協(xié)調(diào)器68故障節(jié)點故障消息喪失網(wǎng)絡故障提交原子性事務T必須要么在所有節(jié)點上提交,要么在所有節(jié)點上都中止兩階段提交三階段提交69兩階段提交階段1〔決定階段〕協(xié)調(diào)器prepareT節(jié)點事務管理器readyT或abortT階段2〔執(zhí)行階段〕收到有一個abortT,那么abortT收到所有readyT,那么commitT節(jié)點commitT并寫Log后,發(fā)出acknowledgeT收到所有acknowledge,那么completeT阻塞:協(xié)調(diào)器發(fā)出prepareT后故障,處于不定狀態(tài)雙方針對超時均可重發(fā)70三階段提交階段1同兩階段方式階段2收到有一個abortT,那么abortT收到所有readyT,那么precommitT節(jié)點precommitT之后,寫Log,發(fā)出acknowledgeT階段3收到所有ack,那么commitT節(jié)點commit后,發(fā)出ackT收到所有ackT后,completeT恢復只要有一個具有commitT,那么提交只要有一個precommitT,已readyT,可提交都沒有收到precommitT,那么回滾71協(xié)議的比較兩階段提交有阻塞的可能,使用較廣三階段提交對于網(wǎng)絡鏈路故障的處理能力偏弱72HbaseHbase是一個分布式開源數(shù)據(jù)庫,基于Hadoop分布式文件系統(tǒng),模仿并提供了基于Google文件系統(tǒng)的Bigtable數(shù)據(jù)庫的所有功能。為什么需要HBASE數(shù)據(jù)庫系統(tǒng)已無法適應大型分布式數(shù)據(jù)存儲的需要改進的關系數(shù)據(jù)庫〔副本、分區(qū)等〕難于安裝與維護關系模型對數(shù)據(jù)的操作使數(shù)據(jù)的存貯變得復雜主要特點HBASE從設計理念上就為可擴展做好了充分準備Column-oriented空間的擴展只需要參加存儲結點使用‘表’的概念,但不同于關系數(shù)據(jù)庫,不支持SQL它又不適合事務處理實質(zhì)上是一張極大的、非常稀疏的,存儲在分布式文件系統(tǒng)上的表7374HBase歷史2006年底由PowerSet的ChadWalters和JimKellerman發(fā)起2021年成為ApacheHadoop的一個子工程現(xiàn)已作為產(chǎn)品被使用WorldLingoStreamyOpenPlacesYahooAdobeHBASE用例-WebTable存儲抓取網(wǎng)頁和相關信息每個頁面對應一行,是個有百萬行的大表要基于此表進行分析與解析并由搜索引擎對關鍵字進行索引表需要并發(fā)地被眾多網(wǎng)頁抓取程序隨機地訪問以及更新數(shù)據(jù)表內(nèi)容也要作為網(wǎng)頁實時緩存被大量用戶隨機訪問邏輯視圖RowKeyTimeStampColumnContentsColumnAnchorColumn“mime”my.look.ca“n.www”T9CNNT8CNN.COMT6“<html>..“Text/htmlT5“<html>..“t3“<html>..“RowKeyRowKey與nosql數(shù)據(jù)庫們一樣,rowkey是用來檢索記錄的主鍵。訪問hbasetable中的行,只有三種方式:1通過單個rowkey訪問2通過rowkey的range3全表掃描Rowkey行鍵(Rowkey)可以是任意字符串(最大長度是64KB,實際應用中長度一般為10-100bytes),在hbase內(nèi)部,rowkey保存為字節(jié)數(shù)組。存儲時,數(shù)據(jù)按照Rowkey的字典序(byteorder)排序存儲。設計key時,要充分排序存儲這個特性,將經(jīng)常一起讀取的行存儲放到一起。(位置相關性)注意:行的一次讀寫是原子操作(不管一次讀寫多少列)。這個設計決策能夠使用戶很容易的理解程序在對同一個行進行并發(fā)更新操作時的行為。
78數(shù)據(jù)模型-行每行數(shù)據(jù)有一可排序的關鍵字和任意列項字符串、整數(shù)、二進制串甚至與串行化的結構都可以作為行鍵表按照行鍵的“逐字節(jié)排序〞順序對行進行有序化處理表內(nèi)數(shù)據(jù)非常‘稀疏’,不同的行的列的數(shù)完全目可以大不相同可以只對一行上“鎖〞對行的寫操作是始終是“原子〞的數(shù)據(jù)模型-行RowKeyTimeStampColumnContentsColumnAnchorColumn“mime”my.look.ca“n.www”T9CNNT8CNN.COMT6“<html>..“Text/htmlT5“<html>..“t3“<html>..“行鍵列列數(shù)據(jù)模型-列列必須用‘族’(family)來定義任意一列有如下形式“族:標簽〞其中,族和標簽都可為任意形式的串物理上將同“族〞數(shù)據(jù)存儲在一起數(shù)據(jù)可通過時間戳區(qū)分版本列族
hbase表中的每個列,都歸屬與某個列族。列族是表的chema的一局部(而列不是),必須在使用表之前定義。列名都以列族作為前綴。例如courses:history,courses:math
都屬于courses這個列族。
訪問控制、磁盤和內(nèi)存的使用統(tǒng)計都是在列族層面進行的。實際應用中,列族上的控制權限能幫助我們管理不同類型的應用:我們允許一些應用可以添加新的根本數(shù)據(jù)、一些應用可以讀取根本數(shù)據(jù)并創(chuàng)立繼承的列族、一些應用那么只允許瀏覽數(shù)據(jù)〔甚至可能因為隱私的原因不能瀏覽所有數(shù)據(jù)〕。
82列族
hbase表中的每個列,都歸屬與某個列族。列族是表的chema的一局部(而列不是),必須在使用表之前定義。列名都以列族作為前綴。例如courses:history,courses:math
都屬于courses這個列族。
訪問控制、磁盤和內(nèi)存的使用統(tǒng)計都是在列族層面進行的。實際應用中,列族上的控制權限能幫助我們管理不同類型的應用:我們允許一些應用可以添加新的根本數(shù)據(jù)、一些應用可以讀取根本數(shù)據(jù)并創(chuàng)立繼承的列族、一些應用那么只允許瀏覽數(shù)據(jù)〔甚至可能因為隱私的原因不能瀏覽所有數(shù)據(jù)〕。
83數(shù)據(jù)模型-列RowKeyTimeStampColumnContentsColumnAnchorColumn“mime”my.look.ca“n.www”T9CNNT8CNN.COMT6“<html>..“Text/htmlT5“<html>..“t3“<html>..“族標簽物理視圖RowKeyTimeStampColumn:ContentsCn.wwwT6“<html>..”T5“<html>..”T3“<html>..”RowKeyTimeStampColumn:AnchorCn.wwwT9Anchor:CNNT5Anchor:my.look.caCNN.COMRowKeyTimeStampColumn:mimeCn.wwwT6text/htmlHTable小結RowKeyTimeStampColumnContentsColumnAnchorColumn“mime”my.look.ca“n.www”T9CNNT8CNN.COMT6“<html>..“Text/htmlT5“<html>..“t3“<html>..“HBASE物理存儲1已經(jīng)提到過,Table中的所有行都按照rowkey的字典序排列。2Table在行的方向上分割為多個Hregion。3region按大小分割的,每個表一開始只有一個region,隨著數(shù)據(jù)不斷插入表,region不斷增大,當增大到一個閥值的時候,Hregion就會等分會兩個新的Hregion。當table中的行不斷增多,就會有越來越多的Hregion。
874HRegion是Hbase中分布式存儲和負載均衡的最小單元。最小單元就表示不同的Hregion可以分布在不同的HRegionserver上。但一個Hregion是不會拆分到多個server上的。
885HRegion雖然是分布式存儲的最小單元,但并不是存儲的最小單元。HRegion由一個或者多個Store組成,每個store保存一個columnsfamily。每個Strore又由一個memStore和0至多個StoreFile組成。StoreFile以HFile格式保存在HDFS上。
8990HFile分為六個局部:DataBlock段–保存表中的數(shù)據(jù),這局部可以被壓縮MetaBlock段(可選的)–保存用戶自定義的kv對,可以被壓縮。FileInfo段–Hfile的元信息,不被壓縮,用戶也可以在這一局部添加自己的元信息。DataBlockIndex段–DataBlock的索引。每條索引的key是被索引的block的第一條記錄的key。MetaBlockIndex段(可選的)–MetaBlock的索引。Trailer–這一段是定長的。保存了每一段的偏移量,讀取一個HFile時,會首先讀取Trailer,Trail
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作計劃大全
- 客服部工作計劃
- 中國全自動票據(jù)分切機項目投資可行性研究報告
- 交通臺實習報告10篇
- 應屆生會計求職信集錦十篇
- 三年級教師述職報告6篇
- 小學教師競崗演講稿5篇
- 2022萬圣節(jié)作文(十五篇大全)
- 參觀實習工作報告匯編9篇
- 小額貸款公司各項管理制度
- 全國職業(yè)學校教師說課大賽一等獎電工技能與實訓《觸電急救方法說課》說課課件
- 小兒流感疾病演示課件
- 奔馳調(diào)研報告swot
- 中國教育史(第四版)全套教學課件
- 2024屆廣東省汕頭市高一數(shù)學第一學期期末達標檢測試題含解析
- 采購設備檢驗驗收單
- 福建省泉州實驗中學2024屆物理高一第一學期期末質(zhì)量檢測試題含解析
- 公司領導班子設置方案
- 專業(yè)展覽展示設計搭建公司
- 為銅制劑正名-冠菌銅? 產(chǎn)品課件-9-7
- 具有磁場保鮮裝置的制冷設備的制作方法
評論
0/150
提交評論