




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
云計算&大數據關鍵技術與應用
云計算&大數據關鍵技術與應用
1目錄云計算&大數據技術架構虛擬化技術12分布式數據處理技術海量數據存儲技術34大數據技術應用實例5目錄云計算&大數據技術架構虛擬化技術12分布式數據處理2云計算運營兩大陣營云計算運營兩大陣營3云計算產品的生態系統4基礎硬件層虛擬化軟件存儲軟件Swift網絡軟件虛擬化和基礎軟件層Glance基礎架構及服務層應用層商用軟件開源軟件虛擬桌面海量數據處理云計算產品的生態系統4基礎硬件層虛擬化軟件存儲軟件Swift大數據分析面臨的主要技術問題需要提供一個高效穩定的存儲和計算引擎如何支撐1萬、10萬臺以上的機群規模?多集群架構,運維和管理系統如何在一個平臺上支持多個組織的多個用戶進行開發?多租戶支持,安全隔離,權限控制如何了解業務運行狀態?元數據管理,指標系統如何管理不同種類的任務?服務化,統一計算入口,可度量和控制的計算資源快速查詢,精準搜索,智能分析…大數據分析面臨的主要技術問題需要提供一個高效穩定的存儲和計算5云計算技術用于處理大數據Highperformance–高并發讀寫
高并發、實時動態獲取和更新數據HugeStorage–海量數據的高效率存儲訪問和智能分析
類似SNS網站,海量用戶信息的高效率實時存儲和查詢HighScalability&&HighAvailability–高可擴展性和高可用性
需要擁有快速橫向擴展能力、提供7*24小時不間斷服務云計算技術用于處理大數據6阿里大數據狀況淘寶主站(2011年):30億店鋪、寶貝瀏覽10億計的在線寶貝數千萬量級交易筆數數據產品(2011年):50G統計匯總結果千萬量級數據查詢請求平均20.8ms的響應時間數據來源:阿里相關技術介紹ppt阿里大數據狀況淘寶主站(2011年):數據產品(2011年)7阿里技術架構總覽數據來源:阿里相關技術介紹ppt阿里技術架構總覽數據來源:阿里相關技術介紹ppt8騰訊大數據狀況數據來源:2012-12-1趙偉《HIVE在騰訊分布式數據倉庫實踐分享》騰訊大數據狀況數據來源:2012-12-1趙偉《HIVE在9騰訊技術架構數據來源:2012-12-1趙偉《HIVE在騰訊分布式數據倉庫實踐分享》騰訊技術架構數據來源:2012-12-1趙偉《HIVE在騰10百度大數據狀況數據來源:2011年百度云計算總工程師林仕鼎講座《百度云計算總體介紹》數據來源:2012.10百度楊毅講座《百度的下一代計算系統》百度大數據狀況數據來源:2011年百度云計算總工程師林仕鼎11百度技術架構數據來源:2011年百度云計算總工程師林仕鼎講座《百度云計算總體介紹》百度技術架構數據來源:2011年百度云計算總工程師林仕鼎講12海量結構化數據存儲系統(SQL)分布式文件系統海量非結構化數據存儲系統(SQL)機器學習大數據應用機器學習分布式文件系統海量數據存儲大規模計算智能分析大數據技術架構-模型分布式并行計算系統數據挖掘語義搜索……海量結構化數據存儲系統分布式文件系統海量非結構化數據存儲系統13HIVEPig!ZooKeeper分布式文件系統海量數據存儲大規模計算智能分析算法大數據技術架構-典型開源實現HIVEPig!Zoo分布式文件系統海量數據存儲大規模計算智14目錄云計算&大數據技術架構虛擬化技術12分布式數據處理技術海量數據存儲技術34大數據技術應用實例大數據技術應用實例56目錄云計算&大數據技術架構虛擬化技術12分布式數據處理15虛擬化技術通過虛擬化技術可實現軟件應用與底層硬件相隔離,它包括將單個資源劃分成多個虛擬資源的裂分模式,也包括將多個資源整合成一個虛擬資源的聚合模式虛擬化軟件實現對硬件的抽象,資源的分配、調度和管理,虛擬機與宿主操作系統及多個虛擬機間的隔離等功能,目前典型的實現(基本成為事實標準)有:CitrixXenVMwareESXServerMicrosoftHype-VRedhatKVM網絡虛擬化存儲虛擬化桌面虛擬化計算虛擬化虛擬化技術通過虛擬化技術可實現軟件應用與底層硬件相隔離,它包16計算虛擬化技術Container1Container2Container3GuestOSGuestOSGuestOSVM1VM2VM3虛擬硬件虛擬硬件虛擬硬件VirtualMachineMonitorHypervisororStandardHostOSHardwareStandardHostOSHardware操作系統虛擬化層HypervisorOSVirtualization硬件虛擬化(Hypervisors)虛擬硬件訪問創建多個虛擬硬件實例宿主操作系統及每個Guest必須為完整操作系統VMwareESXi,MicrosoftHyper-V操作系統虛擬化(Containers)虛擬操作系統訪問創建多個虛擬操作系統實例物理服務器擁有單個、標準的OS內核VMwareworkstation,SunSolarisContainers,OpenVZ計算虛擬化技術ContainerContainerConta17網絡虛擬化:軟件定義網絡SDN(SoftwareDefinedNetwork)SDN是一種新興的控制與轉發分離并直接可編程的網絡架構傳統網絡設備緊耦合的網絡架構被拆分成應用、控制、轉發三層分離的架構。控制功能被轉移到了服務器上,上層應用、底層轉發設施被抽象成多了邏輯實體網絡虛擬化:軟件定義網絡SDN(SoftwareDefin18網絡虛擬化-VxLan實現虛擬機的跨網絡遷移虛擬可擴展VLAN(VirtualExtensibleVLAN,VXLAN)標準將創建一個邏輯網絡(或擴展VLAN),支持地理分散的數據中心之間實現遠距離虛擬機(VM)遷移。VXLAN最終會實現多租戶云網絡所需要的遠距離分割支持思科與VMware已經合作將VXLAN標準整合到產品中,但是這個由思科、VMware、Arista網絡、Broadcom公司、Citrix系統和紅帽等公司共同制定的VXLAN草案仍然有待互聯網工程工作小組(IETF)標準化。網絡虛擬化-VxLan實現虛擬機的跨網絡遷移虛擬可擴展VLA19云計算基礎設施管理技術云計算資源規模龐大,服務器數量眾多并分布在不同的地點,同時運行著數百種應用,如何有效的管理這些服務器,保證整個系統提供不間斷的服務是巨大的挑戰。云計算系統的平臺管理技術能夠使大量的服務器協同工作,方便的進行業務部署和開通,快速發現和恢復系統故障,通過自動化、智能化的手段實現大規模系統的可靠運營常用的開源VIMOpenStackCloudStackOpenNebulaEucalyptusC(Cloudstack)DeltaCloudClever云計算基礎設施管理技術云計算資源規模龐大,服務器數量眾多并分20OpenStack簡介OpenStack是由Rackspace和NASA共同開發的云計算平臺,幫助服務商和企業內部實現類似于AmazonEC2和S3的云基礎架構服務(IaaS)。用Python語言編寫大型用戶:NASA加拿大半官方機構CANARIE網絡的DAIR項目RackspaceCloud惠普云(使用UbuntuLinux)MercadoLibre的IT基礎設施云,現以Openstack管理超過60000臺服務器OpenStack簡介OpenStack是由Rackspac21OpenStack
社區OpenStack社區22目錄云計算&大數據技術架構虛擬化技術12分布式數據處理技術海量數據存儲技術34大數據技術應用實例5目錄云計算&大數據技術架構虛擬化技術12分布式數據處理23Google分布式處理架構Google云計算應用BigTableGFSMapReduceChubby組件調用關系分析分布式文件系統分布式計算模型Google分布式處理架構Google云計算應用BigTab24分布式文件系統-Google文件系統(GFS)Google
48%MSN
19%Yahoo
33%客戶端客戶端客戶端互為備份管理節點GFS主節點GFS主節點C0C1C2C5數據結點1C0C2C5數據結點NC1C5數據結點2…客戶端客戶端客戶端客戶端客戶端客戶端C1分布式文件系統-Google文件系統(GFS)Google
25分布式文件系統-HDFS基本結構采用主從架構,由一個Namenode和若干個Datanode組成Namenode:負責管理名字空間
與客戶端訪問Datanode:管理附帶的存儲,
存儲文件的block一個文件分成多個block,Block是HDFS最小存儲與分配單位,,分布存儲,典型塊大小為64MB或128MB一個block被復制存放于多個datanodeHDFS在Yahoo安裝
了14PB的在線磁盤分布式文件系統-HDFS基本結構26分布式文件系統-GlusterFS分布式文件系統-GlusterFS27分布式文件系統-LustreMDS:MetadataServer,元數據管理器,管理名字空間和文件對象映射OSS:ObjectStorageServer,I/O服務器MDT:MetadataTarget,MDS的本地磁盤存儲OST:ObjectStorageTarget,OSS的本地磁盤存儲OSTMDT分布式文件系統-LustreMDS:MetadataS28分布式文件系統-寫入性能比較來源:中科院深圳先進技術研究院熊文,喻之斌,須成忠的論文《幾個常見分布式文件系統特征分析和性能對比》(《集成技術》2012年11月)分布式文件系統-寫入性能比較來源:中科院深圳先進技術研究院29分布式文件系統-讀取性能比較來源:中科院深圳先進技術研究院熊文,喻之斌,須成忠的論文《幾個常見分布式文件系統特征分析和性能對比》(《集成技術》2012年11月)分布式文件系統-讀取性能比較來源:中科院深圳先進技術研究院30分布式計算模型-概述待處理數據量巨大短時間處理如何進行并行分布式計算?如何分發待處理數據?如何處理分布式計算中的錯誤?MapReduce模型Google公司的核心計算模型分布式計算模型-概述待處理數據量巨大MapReduce模型G31分布式計算模型-MapReduce一個軟件架構,是一種處理海量數據的并行編程模式,用于大規模數據集(通常大于100TB)的并行運算適合要求:待處理的數據集可以分解成許多小的數據集,而且每一個小數據集都可以完全并行地進行處理。MapReduce實現了Map和Reduce兩個功能Map把一個函數應用于集合中的所有成員,然后返回一個基于這個處理的結果集Reduce對結果集進行分類和歸納Map()和Reduce()兩個函數可能會并行運行計算流程分布式計算模型-MapReduce一個軟件架構,是一種處理32分布式計算模型-MapReduce提供數據的存儲訪問、數據塊劃分、計算節點調度管理、數據通信、結果收集、容錯處理、負載均衡、性能優化等JobTracker:主結點接受用戶提交的MRjob分派map任務和reduce任務監管tasks和tasktrackers,重新執行失效任務一般情況應該把JobTracker部署在單獨的機器上TaskTracker:任務的調度多個運行于多個節點的slaver服務,一個Datanode節點一個。按照jobtracker的要求執行map或者reduce任務管理存儲,傳輸中間結果分布式計算模型-MapReduce提供數據的存儲訪問、數據33分布式計算模型-MapReduce任務執行狀態更新Shuffle&Sort分布式計算模型-MapReduce任務執行狀態更新Shuf34單詞記數問題(WordCount)(Hadoop自帶例子)給定一個巨大的文本(如1TB),如何計算單詞出現的數目?MapReduce示例單詞記數問題(WordCount)(Hadoop自帶例子)35Step1:自動對文本進行分割MapReduce示例Step1:自動對文本進行分割MapReduce示例36Step2:在分割之后的每一對<key,value>進行用戶定義的Map進行處理,再生成新的<key,value>對MapReduce示例Map類:編程實現HadoopMapper接口的Map方法Step2:在分割之后的每一對<key,value>進行用37Step3:對輸出的結果集歸攏、排序(系統自動完成)MapReduce示例Step3:對輸出的結果集歸攏、排序(系統自動完成)Map38Step4:通過Reduce操作生成最后結果MapReduce示例Reduce類:編程實現HadoopReduce接口的Reduce方法Step4:通過Reduce操作生成最后結果MapRedu39目錄云計算&大數據技術架構虛擬化技術12分布式數據處理技術海量數據存儲技術34大數據技術應用實例5目錄云計算&大數據技術架構虛擬化技術12分布式數據處理401.Volume2.
Variety3.value4.Velocity結構化數據、半結構化數據和非結構化數據如今的數據類型早已不是單一的文本形式,訂單、日志、音頻,能力提出了更高的要求沙里淘金,價值密度低以視頻為例,一部一小時的視頻,在連續不間斷監控過程中,可能有用的數據僅僅只有一兩秒。如何通過強大的機器算法更迅速地完成數據的價值“提純”是目前大數據洶涌背景下亟待解決的難題實時獲取需要的信息大數據區分于傳統數據最顯著的特征。如今已是ZB時代,在如此海量的數據面前,處理數據的效率就是企業的生命無法在一定時間內用傳統數據庫軟件工具對其內容進行抓取、管理和處理的數據集合大數據的特點數據量巨大全球在2010年正式進入ZB時代,IDC預計到2020年,全球將總共擁有35ZB的數據量1PB數據相當于50%的全美學術研究圖書館藏書資訊內容。而到2012年為止,人類生產的所有印刷材料的數據量是200PB,全人類歷史上說過的所有話的數據量大約是5EB。1.Volume2.Variety3.value4.41存儲原理數據庫存儲數據庫以行、列的二維表的形式存儲數據以一維字符串的方式存儲到磁盤行式存儲按行來序列化并追加到磁盤列式存儲按行來序列化并追加到磁盤列族存儲原理數據庫存儲42CAP理論分布式數據系統的CAP原理的三要素:一致性(Consistency)可用性(Availability)分區容忍性(Partitiontolerance)CAP原理:在分布式系統中,這三個要素最多只能同時實現兩點,不可能三者兼顧對于分布式數據系統,分區容忍性是基本要求對于大多數web應用,犧牲一致性而換取高可用性,是目前多數分布式數據庫產品的方向。CAP理論分布式數據系統的CAP原理的三要素:43NoSQL的兩個核心模型Google的BigTable
BigTable提出了一種很有趣的數據模型,它將各列數據進行排序存儲。數據值按范圍分布在多臺機器,數據更新操作有嚴格的一致性保證。Amazon的Dynamo
Dynamo使用的是另外一種分布式模型。Dynamo的模型更簡單,它將數據按key進行hash存儲。其數據分片模型有比較強的容災性,因此它實現的是相對松散的弱一致性:最終一致性。NoSQL的兩個核心模型Google的BigTable44NoSQL技術分類Key-value一個Key對應一個Value,能提供非常快的查詢速度、大的數據存放量和高并發操作,非常適合通過主鍵對數據進行查詢和修改等操作RedisBerkeleyDBKyotoCabinet/Tycoon列式存儲按列存儲數據,最大的特點是方便存儲結構化和半結構化數據,方便做數據壓縮,對針對某一列或者某幾列的查詢有非常大的IO優勢
HbaseCassandra文檔結構結構和Key-value非常相似,也是一個Key對應一個Value,但是這個Value主要以JSON或者XML等格式的文檔來進行存儲,是有語義的。可以對某些字段建立索引,實現關系數據庫的某些功能。MongoDBCouchDB圖式存儲以圖論為基礎Neo4JNoSQL技術分類Key-value45簡介Bigtable是一個分布式的結構化數據存儲系統,它被設計用來處理海量數據:通常是分布在數千臺普通服務器上的PB級的數據。Google的很多項目使用Bigtable存儲數據,包括Web索引、GoogleEarth、GoogleFinance等。數據模型Bigtable是一個稀疏的、分布式的、持久化存儲的多維度排序Map。Map的索引是行關鍵字、列關鍵字以及時間戳;Map中的每個value都是一個未經解析的byte數組NoSQL——BigTable特點適合大規模海量數據,PB級數據;分布式、并發數據處理,效率極高;易于擴展,支持動態伸縮;適用于廉價設備;適合于讀操作,不適合寫操作;不適用于傳統關系數據庫;簡介NoSQL——BigTable特點46簡介HadoopDatabase,HBase是GoogleBigtable的開源實現,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統,利用HBase技術可在廉價PCServer上搭建起大規模結構化存儲集群。數據模型類似GoogleBigtable利用GFS作為其文件存儲系統,HBase利用HadoopHDFS作為其文件存儲系統;Google運行MapReduce來處理Bigtable中的海量數據,HBase同樣利用HadoopMapReduce來處理HBase中的海量數據;GoogleBigtable利用Chubby作為協同服務,HBase利用Zookeeper作為對應。NoSQL—Hbase底層數據存儲基于HDFS高可用,高性能列存儲,多版本百億行×百萬列×上萬個版簡介NoSQL—Hbase底層數據存儲基于HDFS47簡介:一個開源的使用C語言編寫、支持網絡、可基于內存也可持久化的key-value存儲系統,僅有一萬行代碼。從2010年3月15日起,Redis的開發工作由VMware主持。NoSQL——Redis速度快:C語言、數據加載到內存持久化:數據保存到內存的同時,還可以同步到磁盤上數據結構:支持五種數據結構支持多語言:諸如C,PHP,java,Perl,Ruby,Python等主從復制:支持簡單的主從復制,官方提供數據,Slave在21秒完成了對Amazon網站10Gkeyset的復制相比memcached的優勢:value類型更豐富數據操作方法更多可將內存數據持久化簡介:一個開源的使用C語言編寫、支持網絡、可基于內存也可持久48最初由Facebook開發,用于儲存收件箱等簡單格式數據集GoogleBigTable的數據模型與AmazonDynamo的完全分布式的架構于一身Facebook于2008將Cassandra開源,此后,由于Cassandra良好的可擴放性,被Digg、Twitter等知名Web2.0網站所采納,成為了一種流行的分布式結構化數據存儲方案NoSQL——Cassandra特點模式靈活:使用Cassandra,像文檔存儲,你不必提前解決記錄中的字段。你可以在系統運行時隨意的添加或移除字段。這是一個驚人的效率提升,特別是在大型部署上。真正的可擴展性:Cassandra是純粹意義上的水平擴展。為給集群添加更多容量,可以指向另一臺電腦。你不必重啟任何進程,改變應用查詢,或手動遷移任何數據。多數據中心識別:你可以調整你的節點布局來避免某一個數據中心起火,一個備用的數據中心將至少有每條記錄的完全復制。最初由Facebook開發,用于儲存收件箱等簡單格式數據No49介于關系數據庫和非關系數據庫之間,是非關系數據庫當中功能最豐富,最像關系數據庫的支持的數據結構非常松散,是類似json的bjson格式,可以存儲比較復雜的數據類型支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。NoSQL——MongoDB主要特點文檔型:存儲在集合中的文檔,被存儲為鍵-值對的形式。鍵用于唯一標識一個文檔,為字符串類型,而值則可以是各種復雜的文件類型。面向集合存儲:易存儲對象類型的數據,包括文檔內嵌對象及數組。模式自由:無需知道存儲數據的任何結構定義,支持動態查詢、完全索引,可輕易查詢文檔中內嵌的對象和數組高效的數據存儲:支持二進制數據及大型對象支持復制和故障恢復:提供Master-Master、Master-Slave模式的數據復制及服務器之間的數據復制自動分片:以支持云級別的伸縮性,支持水平的數據庫集群,可動態添加額外的服務器不適用場景要求高度事務性的系統傳統的商業智能應用復雜的跨文檔(表)級聯查詢介于關系數據庫和非關系數據庫之間,是非關系數據庫當中功能最豐50Neo4j提供了大規模可擴展性,在一臺機器上可以處理數十億節點/關系/屬性的圖,可以擴展到多臺機器并行運行。相對于關系數據庫來說,圖數據庫善于處理大量復雜、互連接、低結構化的數據,這些數據變化迅速,需要頻繁的查詢——在關系數據庫中,這些查詢會導致大量的表連接,因此會產生性能上的問題。Neo4j重點解決了擁有大量連接的傳統RDBMS在查詢時出現的性能衰退問題。通過圍繞圖進行數據建模,Neo4j會以相同的速度遍歷節點與邊,其遍歷速度與構成圖的數據量沒有任何關系。Neo4j還提供了非常快的圖算法、推薦系統和OLAP風格的分析,這在目前的RDBMS系統中都沒有實現。NoSQL——Neo4JNeo4j提供了大規模可擴展性,在一臺機器上可以處理數十億節51SQL——HIVEHIVE的不足SQL——HIVEHIVE的不足52Oracle的大數據解決方案Oracle的大數據解決方案53Facebook的處理模式Facebook的處理模式54目錄云計算&大數據技術架構虛擬化技術12分布式數據處理技術海量數據存儲技術34大數據技術應用實例5目錄云計算&大數據技術架構虛擬化技術12分布式數據處理55應用實例1:互聯網行為分析平臺應用實例1:互聯網行為分析平臺56應用實例2:海量小圖片管理需求上億個影像圖文件每個影像圖文件大小約10~20K須集中管理需滿足圖檔的實時調閱與查詢現狀以SANStorage來儲存與管理所有的影像圖文件每個影像文件以檔案目錄方式來管理以數據庫來存放每個圖像圖文件之特征值(meta-data)與文件路徑,供使用者查詢與搜索SANStorageDB應用程序應用程序應用程序應用程序應用實例2:海量小圖片管理需求SANDB應用程序應用程序應用57快速迭代的開發模式快速迭代的開發模式58分布式系統測試分布式系統測試59資料參考-阿里技術嘉年華資料參考-阿里技術嘉年華60資料參考-騰訊大講堂資料參考-騰訊大講堂61謝謝!謝謝!62云計算&大數據關鍵技術與應用
云計算&大數據關鍵技術與應用
63目錄云計算&大數據技術架構虛擬化技術12分布式數據處理技術海量數據存儲技術34大數據技術應用實例5目錄云計算&大數據技術架構虛擬化技術12分布式數據處理64云計算運營兩大陣營云計算運營兩大陣營65云計算產品的生態系統66基礎硬件層虛擬化軟件存儲軟件Swift網絡軟件虛擬化和基礎軟件層Glance基礎架構及服務層應用層商用軟件開源軟件虛擬桌面海量數據處理云計算產品的生態系統4基礎硬件層虛擬化軟件存儲軟件Swift大數據分析面臨的主要技術問題需要提供一個高效穩定的存儲和計算引擎如何支撐1萬、10萬臺以上的機群規模?多集群架構,運維和管理系統如何在一個平臺上支持多個組織的多個用戶進行開發?多租戶支持,安全隔離,權限控制如何了解業務運行狀態?元數據管理,指標系統如何管理不同種類的任務?服務化,統一計算入口,可度量和控制的計算資源快速查詢,精準搜索,智能分析…大數據分析面臨的主要技術問題需要提供一個高效穩定的存儲和計算67云計算技術用于處理大數據Highperformance–高并發讀寫
高并發、實時動態獲取和更新數據HugeStorage–海量數據的高效率存儲訪問和智能分析
類似SNS網站,海量用戶信息的高效率實時存儲和查詢HighScalability&&HighAvailability–高可擴展性和高可用性
需要擁有快速橫向擴展能力、提供7*24小時不間斷服務云計算技術用于處理大數據68阿里大數據狀況淘寶主站(2011年):30億店鋪、寶貝瀏覽10億計的在線寶貝數千萬量級交易筆數數據產品(2011年):50G統計匯總結果千萬量級數據查詢請求平均20.8ms的響應時間數據來源:阿里相關技術介紹ppt阿里大數據狀況淘寶主站(2011年):數據產品(2011年)69阿里技術架構總覽數據來源:阿里相關技術介紹ppt阿里技術架構總覽數據來源:阿里相關技術介紹ppt70騰訊大數據狀況數據來源:2012-12-1趙偉《HIVE在騰訊分布式數據倉庫實踐分享》騰訊大數據狀況數據來源:2012-12-1趙偉《HIVE在71騰訊技術架構數據來源:2012-12-1趙偉《HIVE在騰訊分布式數據倉庫實踐分享》騰訊技術架構數據來源:2012-12-1趙偉《HIVE在騰72百度大數據狀況數據來源:2011年百度云計算總工程師林仕鼎講座《百度云計算總體介紹》數據來源:2012.10百度楊毅講座《百度的下一代計算系統》百度大數據狀況數據來源:2011年百度云計算總工程師林仕鼎73百度技術架構數據來源:2011年百度云計算總工程師林仕鼎講座《百度云計算總體介紹》百度技術架構數據來源:2011年百度云計算總工程師林仕鼎講74海量結構化數據存儲系統(SQL)分布式文件系統海量非結構化數據存儲系統(SQL)機器學習大數據應用機器學習分布式文件系統海量數據存儲大規模計算智能分析大數據技術架構-模型分布式并行計算系統數據挖掘語義搜索……海量結構化數據存儲系統分布式文件系統海量非結構化數據存儲系統75HIVEPig!ZooKeeper分布式文件系統海量數據存儲大規模計算智能分析算法大數據技術架構-典型開源實現HIVEPig!Zoo分布式文件系統海量數據存儲大規模計算智76目錄云計算&大數據技術架構虛擬化技術12分布式數據處理技術海量數據存儲技術34大數據技術應用實例大數據技術應用實例56目錄云計算&大數據技術架構虛擬化技術12分布式數據處理77虛擬化技術通過虛擬化技術可實現軟件應用與底層硬件相隔離,它包括將單個資源劃分成多個虛擬資源的裂分模式,也包括將多個資源整合成一個虛擬資源的聚合模式虛擬化軟件實現對硬件的抽象,資源的分配、調度和管理,虛擬機與宿主操作系統及多個虛擬機間的隔離等功能,目前典型的實現(基本成為事實標準)有:CitrixXenVMwareESXServerMicrosoftHype-VRedhatKVM網絡虛擬化存儲虛擬化桌面虛擬化計算虛擬化虛擬化技術通過虛擬化技術可實現軟件應用與底層硬件相隔離,它包78計算虛擬化技術Container1Container2Container3GuestOSGuestOSGuestOSVM1VM2VM3虛擬硬件虛擬硬件虛擬硬件VirtualMachineMonitorHypervisororStandardHostOSHardwareStandardHostOSHardware操作系統虛擬化層HypervisorOSVirtualization硬件虛擬化(Hypervisors)虛擬硬件訪問創建多個虛擬硬件實例宿主操作系統及每個Guest必須為完整操作系統VMwareESXi,MicrosoftHyper-V操作系統虛擬化(Containers)虛擬操作系統訪問創建多個虛擬操作系統實例物理服務器擁有單個、標準的OS內核VMwareworkstation,SunSolarisContainers,OpenVZ計算虛擬化技術ContainerContainerConta79網絡虛擬化:軟件定義網絡SDN(SoftwareDefinedNetwork)SDN是一種新興的控制與轉發分離并直接可編程的網絡架構傳統網絡設備緊耦合的網絡架構被拆分成應用、控制、轉發三層分離的架構。控制功能被轉移到了服務器上,上層應用、底層轉發設施被抽象成多了邏輯實體網絡虛擬化:軟件定義網絡SDN(SoftwareDefin80網絡虛擬化-VxLan實現虛擬機的跨網絡遷移虛擬可擴展VLAN(VirtualExtensibleVLAN,VXLAN)標準將創建一個邏輯網絡(或擴展VLAN),支持地理分散的數據中心之間實現遠距離虛擬機(VM)遷移。VXLAN最終會實現多租戶云網絡所需要的遠距離分割支持思科與VMware已經合作將VXLAN標準整合到產品中,但是這個由思科、VMware、Arista網絡、Broadcom公司、Citrix系統和紅帽等公司共同制定的VXLAN草案仍然有待互聯網工程工作小組(IETF)標準化。網絡虛擬化-VxLan實現虛擬機的跨網絡遷移虛擬可擴展VLA81云計算基礎設施管理技術云計算資源規模龐大,服務器數量眾多并分布在不同的地點,同時運行著數百種應用,如何有效的管理這些服務器,保證整個系統提供不間斷的服務是巨大的挑戰。云計算系統的平臺管理技術能夠使大量的服務器協同工作,方便的進行業務部署和開通,快速發現和恢復系統故障,通過自動化、智能化的手段實現大規模系統的可靠運營常用的開源VIMOpenStackCloudStackOpenNebulaEucalyptusC(Cloudstack)DeltaCloudClever云計算基礎設施管理技術云計算資源規模龐大,服務器數量眾多并分82OpenStack簡介OpenStack是由Rackspace和NASA共同開發的云計算平臺,幫助服務商和企業內部實現類似于AmazonEC2和S3的云基礎架構服務(IaaS)。用Python語言編寫大型用戶:NASA加拿大半官方機構CANARIE網絡的DAIR項目RackspaceCloud惠普云(使用UbuntuLinux)MercadoLibre的IT基礎設施云,現以Openstack管理超過60000臺服務器OpenStack簡介OpenStack是由Rackspac83OpenStack
社區OpenStack社區84目錄云計算&大數據技術架構虛擬化技術12分布式數據處理技術海量數據存儲技術34大數據技術應用實例5目錄云計算&大數據技術架構虛擬化技術12分布式數據處理85Google分布式處理架構Google云計算應用BigTableGFSMapReduceChubby組件調用關系分析分布式文件系統分布式計算模型Google分布式處理架構Google云計算應用BigTab86分布式文件系統-Google文件系統(GFS)Google
48%MSN
19%Yahoo
33%客戶端客戶端客戶端互為備份管理節點GFS主節點GFS主節點C0C1C2C5數據結點1C0C2C5數據結點NC1C5數據結點2…客戶端客戶端客戶端客戶端客戶端客戶端C1分布式文件系統-Google文件系統(GFS)Google
87分布式文件系統-HDFS基本結構采用主從架構,由一個Namenode和若干個Datanode組成Namenode:負責管理名字空間
與客戶端訪問Datanode:管理附帶的存儲,
存儲文件的block一個文件分成多個block,Block是HDFS最小存儲與分配單位,,分布存儲,典型塊大小為64MB或128MB一個block被復制存放于多個datanodeHDFS在Yahoo安裝
了14PB的在線磁盤分布式文件系統-HDFS基本結構88分布式文件系統-GlusterFS分布式文件系統-GlusterFS89分布式文件系統-LustreMDS:MetadataServer,元數據管理器,管理名字空間和文件對象映射OSS:ObjectStorageServer,I/O服務器MDT:MetadataTarget,MDS的本地磁盤存儲OST:ObjectStorageTarget,OSS的本地磁盤存儲OSTMDT分布式文件系統-LustreMDS:MetadataS90分布式文件系統-寫入性能比較來源:中科院深圳先進技術研究院熊文,喻之斌,須成忠的論文《幾個常見分布式文件系統特征分析和性能對比》(《集成技術》2012年11月)分布式文件系統-寫入性能比較來源:中科院深圳先進技術研究院91分布式文件系統-讀取性能比較來源:中科院深圳先進技術研究院熊文,喻之斌,須成忠的論文《幾個常見分布式文件系統特征分析和性能對比》(《集成技術》2012年11月)分布式文件系統-讀取性能比較來源:中科院深圳先進技術研究院92分布式計算模型-概述待處理數據量巨大短時間處理如何進行并行分布式計算?如何分發待處理數據?如何處理分布式計算中的錯誤?MapReduce模型Google公司的核心計算模型分布式計算模型-概述待處理數據量巨大MapReduce模型G93分布式計算模型-MapReduce一個軟件架構,是一種處理海量數據的并行編程模式,用于大規模數據集(通常大于100TB)的并行運算適合要求:待處理的數據集可以分解成許多小的數據集,而且每一個小數據集都可以完全并行地進行處理。MapReduce實現了Map和Reduce兩個功能Map把一個函數應用于集合中的所有成員,然后返回一個基于這個處理的結果集Reduce對結果集進行分類和歸納Map()和Reduce()兩個函數可能會并行運行計算流程分布式計算模型-MapReduce一個軟件架構,是一種處理94分布式計算模型-MapReduce提供數據的存儲訪問、數據塊劃分、計算節點調度管理、數據通信、結果收集、容錯處理、負載均衡、性能優化等JobTracker:主結點接受用戶提交的MRjob分派map任務和reduce任務監管tasks和tasktrackers,重新執行失效任務一般情況應該把JobTracker部署在單獨的機器上TaskTracker:任務的調度多個運行于多個節點的slaver服務,一個Datanode節點一個。按照jobtracker的要求執行map或者reduce任務管理存儲,傳輸中間結果分布式計算模型-MapReduce提供數據的存儲訪問、數據95分布式計算模型-MapReduce任務執行狀態更新Shuffle&Sort分布式計算模型-MapReduce任務執行狀態更新Shuf96單詞記數問題(WordCount)(Hadoop自帶例子)給定一個巨大的文本(如1TB),如何計算單詞出現的數目?MapReduce示例單詞記數問題(WordCount)(Hadoop自帶例子)97Step1:自動對文本進行分割MapReduce示例Step1:自動對文本進行分割MapReduce示例98Step2:在分割之后的每一對<key,value>進行用戶定義的Map進行處理,再生成新的<key,value>對MapReduce示例Map類:編程實現HadoopMapper接口的Map方法Step2:在分割之后的每一對<key,value>進行用99Step3:對輸出的結果集歸攏、排序(系統自動完成)MapReduce示例Step3:對輸出的結果集歸攏、排序(系統自動完成)Map100Step4:通過Reduce操作生成最后結果MapReduce示例Reduce類:編程實現HadoopReduce接口的Reduce方法Step4:通過Reduce操作生成最后結果MapRedu101目錄云計算&大數據技術架構虛擬化技術12分布式數據處理技術海量數據存儲技術34大數據技術應用實例5目錄云計算&大數據技術架構虛擬化技術12分布式數據處理1021.Volume2.
Variety3.value4.Velocity結構化數據、半結構化數據和非結構化數據如今的數據類型早已不是單一的文本形式,訂單、日志、音頻,能力提出了更高的要求沙里淘金,價值密度低以視頻為例,一部一小時的視頻,在連續不間斷監控過程中,可能有用的數據僅僅只有一兩秒。如何通過強大的機器算法更迅速地完成數據的價值“提純”是目前大數據洶涌背景下亟待解決的難題實時獲取需要的信息大數據區分于傳統數據最顯著的特征。如今已是ZB時代,在如此海量的數據面前,處理數據的效率就是企業的生命無法在一定時間內用傳統數據庫軟件工具對其內容進行抓取、管理和處理的數據集合大數據的特點數據量巨大全球在2010年正式進入ZB時代,IDC預計到2020年,全球將總共擁有35ZB的數據量1PB數據相當于50%的全美學術研究圖書館藏書資訊內容。而到2012年為止,人類生產的所有印刷材料的數據量是200PB,全人類歷史上說過的所有話的數據量大約是5EB。1.Volume2.Variety3.value4.103存儲原理數據庫存儲數據庫以行、列的二維表的形式存儲數據以一維字符串的方式存儲到磁盤行式存儲按行來序列化并追加到磁盤列式存儲按行來序列化并追加到磁盤列族存儲原理數據庫存儲104CAP理論分布式數據系統的CAP原理的三要素:一致性(Consistency)可用性(Availability)分區容忍性(Partitiontolerance)CAP原理:在分布式系統中,這三個要素最多只能同時實現兩點,不可能三者兼顧對于分布式數據系統,分區容忍性是基本要求對于大多數web應用,犧牲一致性而換取高可用性,是目前多數分布式數據庫產品的方向。CAP理論分布式數據系統的CAP原理的三要素:105NoSQL的兩個核心模型Google的BigTable
BigTable提出了一種很有趣的數據模型,它將各列數據進行排序存儲。數據值按范圍分布在多臺機器,數據更新操作有嚴格的一致性保證。Amazon的Dynamo
Dynamo使用的是另外一種分布式模型。Dynamo的模型更簡單,它將數據按key進行hash存儲。其數據分片模型有比較強的容災性,因此它實現的是相對松散的弱一致性:最終一致性。NoSQL的兩個核心模型Google的BigTable106NoSQL技術分類Key-value一個Key對應一個Value,能提供非常快的查詢速度、大的數據存放量和高并發操作,非常適合通過主鍵對數據進行查詢和修改等操作RedisBerkeleyDBKyotoCabinet/Tycoon列式存儲按列存儲數據,最大的特點是方便存儲結構化和半結構化數據,方便做數據壓縮,對針對某一列或者某幾列的查詢有非常大的IO優勢
HbaseCassandra文檔結構結構和Key-value非常相似,也是一個Key對應一個Value,但是這個Value主要以JSON或者XML等格式的文檔來進行存儲,是有語義的。可以對某些字段建立索引,實現關系數據庫的某些功能。MongoDBCouchDB圖式存儲以圖論為基礎Neo4JNoSQL技術分類Key-value107簡介Bigtable是一個分布式的結構化數據存儲系統,它被設計用來處理海量數據:通常是分布在數千臺普通服務器上的PB級的數據。Google的很多項目使用Bigtable存儲數據,包括Web索引、GoogleEarth、GoogleFinance等。數據模型Bigtable是一個稀疏的、分布式的、持久化存儲的多維度排序Map。Map的索引是行關鍵字、列關鍵字以及時間戳;Map中的每個value都是一個未經解析的byte數組NoSQL——BigTable特點適合大規模海量數據,PB級數據;分布式、并發數據處理,效率極高;易于擴展,支持動態伸縮;適用于廉價設備;適合于讀操作,不適合寫操作;不適用于傳統關系數據庫;簡介NoSQL——BigTable特點108簡介HadoopDatabase,HBase是GoogleBigtable的開源實現,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統,利用HBase技術可在廉價PCServer上搭建起大規模結構化存儲集群。數據模型類似GoogleBigtable利用GFS作為其文件存儲系統,HBase利用HadoopHDFS作為其文件存儲系統;Google運行MapReduce來處理Bigtable中的海量數據,HBase同樣利用HadoopMapReduce來處理HBase中的海量數據;GoogleBigtable利用Chubby作為協同服務,HBase利用Zookeeper作為對應。NoSQL—Hbase底層數據存儲基于HDFS高可用,高性能列存儲,多版本百億行×百萬列×上萬個版簡介NoSQL—Hbase底層數據存儲基于HDFS109簡介:一個開源的使用C語言編寫、支持網絡、可基于內存也可持久化的key-value存儲系統,僅有一萬行代碼。從2010年3月15日起,Redis的開發工作由VMware主持。NoSQL——Redis速度快:C語言、數據加載到內存持久化:數據保存到內存的同時,還可以同步到磁盤上數據結構:支持五種數據結構支持多
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 評估公司收費管理制度
- 2025年中國滑雪用品行業市場全景分析及前景機遇研判報告
- 試用期全勤獎管理制度
- 財務賬目基本管理制度
- 財政公用經費管理制度
- 貨場物料調撥管理制度
- 貨車企業各項管理制度
- 2025年中國紅外壁爐行業市場全景分析及前景機遇研判報告
- 2025年中國觸覺VR設備行業市場全景分析及前景機遇研判報告
- 批發面條轉讓協議書范本
- 橡膠與人類-青島科技大學中國大學mooc課后章節答案期末考試題庫2023年
- 血液透析低血壓的護理
- 福建省漳州實小教育集團2023屆數學三下期末檢測模擬試題含解析
- 有效溝通-報聯商課件
- 航行通告教學課件
- 星巴克勞動合同
- 《電子技術基礎》期末考試復習(重點)題庫(含答案)
- 結締組織病的肺部表現
- 景觀工程施工圖設計總說明
- CASIO電子計算器fx-82ES-PLUS-A說明書
- 觀看電視專題片《永遠吹沖鋒號》第二集《政治監督》心得體會
評論
0/150
提交評論