![云計(jì)算與大數(shù)據(jù)技術(shù)-配套課件_第1頁(yè)](http://file4.renrendoc.com/view11/M01/2A/0C/wKhkGWdz0JuALWG_AACAt2-3HMw208.jpg)
![云計(jì)算與大數(shù)據(jù)技術(shù)-配套課件_第2頁(yè)](http://file4.renrendoc.com/view11/M01/2A/0C/wKhkGWdz0JuALWG_AACAt2-3HMw2082.jpg)
![云計(jì)算與大數(shù)據(jù)技術(shù)-配套課件_第3頁(yè)](http://file4.renrendoc.com/view11/M01/2A/0C/wKhkGWdz0JuALWG_AACAt2-3HMw2083.jpg)
![云計(jì)算與大數(shù)據(jù)技術(shù)-配套課件_第4頁(yè)](http://file4.renrendoc.com/view11/M01/2A/0C/wKhkGWdz0JuALWG_AACAt2-3HMw2084.jpg)
![云計(jì)算與大數(shù)據(jù)技術(shù)-配套課件_第5頁(yè)](http://file4.renrendoc.com/view11/M01/2A/0C/wKhkGWdz0JuALWG_AACAt2-3HMw2085.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
云計(jì)算與大數(shù)據(jù)技術(shù)
配套課件第1章云計(jì)算概論第1節(jié)
什么是云計(jì)算?
云計(jì)算(cloudcomputing)是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過(guò)互聯(lián)網(wǎng)來(lái)提供動(dòng)態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。
美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)的定義:
云計(jì)算是一種按使用量付費(fèi)的模式,這種模式提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問(wèn),進(jìn)入可配置的計(jì)算資源共享池(資源包括網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用軟件、服務(wù)),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務(wù)供應(yīng)商進(jìn)行很少的交互。第2節(jié)
云計(jì)算的產(chǎn)生背景
云計(jì)算是繼1980年代大型計(jì)算機(jī)到客戶端-服務(wù)器的大轉(zhuǎn)變之后的又一種巨變。云計(jì)算是分布式計(jì)算(DistributedComputing)、并行計(jì)算(ParallelComputing)、效用計(jì)算(UtilityComputing)、網(wǎng)絡(luò)存儲(chǔ)(NetworkStorageTechnologies)、虛擬化(Virtualization)、負(fù)載均衡(LoadBalance)、熱備份冗余(HighAvailable)等傳統(tǒng)計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。第3節(jié)
云計(jì)算的發(fā)展歷史年份云計(jì)算的發(fā)展1983網(wǎng)絡(luò)是電腦2006Amazon:彈性計(jì)算云服務(wù)(EC2)
Google:云計(jì)算的概念2007Google與IBM:高校推廣,提供技術(shù)支持2008IBM:第一個(gè)云計(jì)算中心
戴爾:申請(qǐng)?jiān)朴?jì)算商標(biāo)2010Novell與CSA:可信任云計(jì)算計(jì)劃2013中國(guó)IaaS:市場(chǎng)規(guī)模約為10.5億元
中國(guó)PaaS:市場(chǎng)規(guī)模增長(zhǎng)近20%
全球SaaS:云計(jì)算領(lǐng)域最為成熟的細(xì)分市場(chǎng)2015云計(jì)算方面的相關(guān)政策不斷更新……第4節(jié)
如何學(xué)好云計(jì)算
云計(jì)算是一種基于互聯(lián)網(wǎng)的計(jì)算方式,要實(shí)現(xiàn)云計(jì)算則需要一整套的技術(shù)架構(gòu)去實(shí)施,包括網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、虛擬化等。操作系統(tǒng),懂得Windows操作系統(tǒng)的安裝和基本操作、懂得AD域角色的安裝和管理、懂得組策略的配置和管理;數(shù)據(jù)庫(kù)的安裝和使用(如SQLServer);存儲(chǔ)的基礎(chǔ)知識(shí)(如磁盤(pán)性能、RAID等)、光纖交換機(jī)的使用等;網(wǎng)絡(luò)的基礎(chǔ)知識(shí)(如IP地址規(guī)劃、VLAN等)。第2章云計(jì)算基礎(chǔ)第1節(jié)分布式計(jì)算
分布式計(jì)算將應(yīng)用分解成許多更小的部分,分配到多臺(tái)計(jì)算機(jī)進(jìn)行處理,這樣可以節(jié)省整體計(jì)算時(shí)間,大大提高計(jì)算效率。
云計(jì)算是分布式計(jì)算技術(shù)的一種,也是分布式計(jì)算這種科學(xué)概念的商業(yè)實(shí)現(xiàn)。分布式計(jì)算的優(yōu)點(diǎn)就是發(fā)揮“集體的力量”。
分布式計(jì)算的一種應(yīng)用是WebService:第2節(jié)
云計(jì)算的基本概念
云計(jì)算的組成可以分為六個(gè)部分,它們由下至上分別是:
基礎(chǔ)設(shè)施(Infrastructure)
存儲(chǔ)(Storage)
平臺(tái)(Platform)
應(yīng)用(Application)
服務(wù)(Services)
客戶端(Clients)第3節(jié)
云計(jì)算的關(guān)鍵技術(shù)
1、分布式海量數(shù)據(jù)存儲(chǔ)
以移動(dòng)通信運(yùn)營(yíng)商為例,隨著移動(dòng)業(yè)務(wù)和用戶規(guī)模的不斷擴(kuò)大,每天都產(chǎn)生海量的業(yè)務(wù)、計(jì)費(fèi)以及網(wǎng)管數(shù)據(jù),然而龐大的數(shù)據(jù)量使得傳統(tǒng)的數(shù)據(jù)庫(kù)存儲(chǔ)已經(jīng)無(wú)法滿足存儲(chǔ)和分析需求。
數(shù)據(jù)庫(kù)容量有限
并行取數(shù)困難JDBC訪問(wèn)效率太低
數(shù)據(jù)庫(kù)并發(fā)訪問(wèn)數(shù)太多
理想的解決方案是把大數(shù)據(jù)存儲(chǔ)到分布式文件系統(tǒng)中。云計(jì)算系統(tǒng)中廣泛使用的數(shù)據(jù)存儲(chǔ)系統(tǒng)是GFS和HDFS。2、虛擬化技術(shù)
虛擬化技術(shù)是云計(jì)算系統(tǒng)的核心組成部分之一,是將各種計(jì)算及存儲(chǔ)資源充分整合和高效利用的關(guān)鍵技術(shù)。
資源分享資源定制細(xì)粒度資源管理
基于以上特點(diǎn),虛擬化技術(shù)成為實(shí)現(xiàn)云計(jì)算資源池化和按需服務(wù)的基礎(chǔ)。3、云平臺(tái)技術(shù)
云平臺(tái)技術(shù)能夠使大量的服務(wù)器協(xié)同工作,方便地進(jìn)行業(yè)務(wù)部署,快速發(fā)現(xiàn)和恢復(fù)系統(tǒng)故障,通過(guò)自動(dòng)化、智能化的手段實(shí)現(xiàn)大規(guī)模系統(tǒng)的可靠運(yùn)營(yíng)。
云計(jì)算平臺(tái)的主要特點(diǎn)是用戶不必關(guān)心云平臺(tái)底層的實(shí)現(xiàn)。4、并行編程技術(shù)
數(shù)據(jù)并行
消息傳遞5、數(shù)據(jù)管理技術(shù)
如何高效地管理大數(shù)據(jù)集?
如何在規(guī)模巨大的數(shù)據(jù)中找到特定的數(shù)據(jù)?Google的BigTable數(shù)據(jù)管理技術(shù)第4節(jié)
云交付模型
軟件即服務(wù)(SaaS)
平臺(tái)即服務(wù)(PaaS)
基礎(chǔ)設(shè)施即服務(wù)(IaaS)
容器即服務(wù)(CaaS)1、軟件即服務(wù)(SaaS)
SaaS是SoftwareasaService(軟件即服務(wù))的簡(jiǎn)稱(chēng),它是一種通過(guò)Internet提供軟件的模式,用戶無(wú)需購(gòu)買(mǎi)軟件,而是向提供商租用基于Web的軟件。
隨時(shí)隨地訪問(wèn)
支持公開(kāi)協(xié)議
安全保障
多用戶機(jī)制SaaS應(yīng)用包括Citrix公司的GoToMeeting、Cisco公司的WebEx等等。2、平臺(tái)即服務(wù)(PaaS)PaaS(PlatformasaService):是將服務(wù)器平臺(tái)或者開(kāi)發(fā)環(huán)境作為服務(wù)進(jìn)行提供。開(kāi)發(fā)簡(jiǎn)單、部署簡(jiǎn)單、維護(hù)簡(jiǎn)單。
有好的開(kāi)發(fā)環(huán)境
豐富的服務(wù)
自動(dòng)的資源調(diào)度
精細(xì)的管理和監(jiān)控PaaS應(yīng)用包括GoogleAppEngine、MicrosoftAzure、F、Heroku、EngineYard等等。3、基礎(chǔ)設(shè)施即服務(wù)(IaaS)
IaaS(InfrastructureasaService):服務(wù)提供商將多臺(tái)服務(wù)器組成的“云端”服務(wù)(包括內(nèi)存、I/O設(shè)備、存儲(chǔ)和計(jì)算能力等等)作為計(jì)量服務(wù)提供給用戶。
資源抽象
負(fù)載管理
數(shù)據(jù)管理
資源管理安全管理計(jì)費(fèi)管理4、基本云交付模型的比較云交付模型服務(wù)對(duì)象使用方式關(guān)鍵技術(shù)用戶的控制等級(jí)系統(tǒng)實(shí)例IaaS需要硬件資源的用戶使用者上傳數(shù)據(jù)、程序代碼、環(huán)境配置虛擬化技術(shù)、分布式海量數(shù)據(jù)存儲(chǔ)等使用和配置AmazonEC2、Eucalyptus等PaaS程序開(kāi)發(fā)者使用者上傳數(shù)據(jù)、程序代碼云平臺(tái)技術(shù)、數(shù)據(jù)管理技術(shù)等有限的管理GoogleAppEngine、MicrosoftAzure、Hadoop等SaaS企業(yè)和需要軟件應(yīng)用的用戶使用者上傳數(shù)據(jù)Web服務(wù)技術(shù)、互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)技術(shù)等完全的管理GoogleApps、SalesforceCRM等5、容器即服務(wù)(CaaS)
CaaS(ContainerasaService)也稱(chēng)為容器云,是以容器為資源分割和調(diào)度的基本單位,封裝整個(gè)軟件運(yùn)行時(shí)環(huán)境,為開(kāi)發(fā)者和系統(tǒng)管理員提供用于構(gòu)建、發(fā)布和運(yùn)行分布式應(yīng)用的平臺(tái)。
CaaS與基本交付模型IaaS和PaaS的關(guān)系第5節(jié)
云部署模式
公有云
私有云
混合云
1、公有云
公有云,是指為外部客戶提供服務(wù)的云,它所有的服務(wù)是供別人使用,而不是自己用。
在此種模式下,應(yīng)用程序、資源、存儲(chǔ)和其他服務(wù),都由云服務(wù)供應(yīng)商來(lái)提供給用戶,這些服務(wù)多半都是免費(fèi)的,也有部分按需按使用量來(lái)付費(fèi),這種模式只能使用互聯(lián)網(wǎng)來(lái)訪問(wèn)和使用。
問(wèn)題:安全性可用性2、私有云
私有云,是指企業(yè)自己使用的云,它所有的服務(wù)不是供別人使用,而是供自己內(nèi)部人員或分支機(jī)構(gòu)使用。優(yōu)點(diǎn)是安全性、可用性相比公有云好一些;缺點(diǎn)是成本較大。3、混合云
混合云,是指供自己和客戶共同使用的云,它所提供的服務(wù)既可以供別人使用,也可以供自己使用。
混合云是兩種或兩種以上的云計(jì)算模式的混合體,如公有云和私有云混合。
相比較而言,混合云的部署方式對(duì)提供者的要求較高。第6節(jié)
云計(jì)算的優(yōu)勢(shì)與挑戰(zhàn)1、云計(jì)算的優(yōu)勢(shì)
超大規(guī)模
虛擬化
高可靠性
通用性
高擴(kuò)展性
按需服務(wù)
極其廉價(jià)
2、
云計(jì)算所面臨的挑戰(zhàn)服務(wù)的持續(xù)可用性
服務(wù)的安全性
服務(wù)的遷移
服務(wù)的性能1、云存儲(chǔ)
云存儲(chǔ)是是一種新興的網(wǎng)絡(luò)存儲(chǔ)技術(shù),是指通過(guò)集群應(yīng)用、網(wǎng)絡(luò)技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類(lèi)型的存儲(chǔ)設(shè)備通過(guò)應(yīng)用軟件集合起來(lái)協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問(wèn)功能的一個(gè)系統(tǒng)。百度網(wǎng)盤(pán)
2、云服務(wù)云服務(wù)主要以郵箱為賬號(hào),實(shí)現(xiàn)用戶登陸賬號(hào)后,內(nèi)容在線同步的作用。
典型的云服務(wù)包括了微軟“Hotmail”、谷歌“gmail”、蘋(píng)果“iCloud”等。3、云物聯(lián)
物聯(lián)網(wǎng)就是物物相連的互聯(lián)網(wǎng),物聯(lián)網(wǎng)有兩種業(yè)務(wù)模式:(1)MAI(M2MApplicationIntegration)和內(nèi)部MaaS;(2)MaaS(M2MasaService)、MMO和Multi-Tenants(多租戶模型)。
隨著物聯(lián)網(wǎng)業(yè)務(wù)量的增加,對(duì)數(shù)據(jù)存儲(chǔ)和計(jì)算量的需求將帶來(lái)對(duì)“云計(jì)算”能力的要求。第8節(jié)
云計(jì)算與大數(shù)據(jù)“云計(jì)算和大數(shù)據(jù)是一個(gè)硬幣的兩面,云計(jì)算是大數(shù)據(jù)的IT基礎(chǔ),而大數(shù)據(jù)是云計(jì)算的一個(gè)殺手級(jí)應(yīng)用?!?/p>
云計(jì)算與大數(shù)據(jù)的關(guān)系?
云計(jì)算能為大數(shù)據(jù)帶來(lái)了哪些變化?第3章虛擬化第1節(jié)
虛擬化簡(jiǎn)介
1、什么是虛擬化
虛擬化是指計(jì)算機(jī)元件在虛擬的基礎(chǔ)上而不是在真實(shí)的、獨(dú)立的物理硬件基礎(chǔ)上運(yùn)行。
虛擬化架構(gòu)就是在一個(gè)物理硬件機(jī)器上同時(shí)運(yùn)行多個(gè)不同應(yīng)用的獨(dú)立的虛擬系統(tǒng)。
研發(fā)與測(cè)試
服務(wù)器合并
高級(jí)虛擬主機(jī)2、虛擬化的發(fā)展歷史
虛擬化技術(shù)的萌芽
虛擬化技術(shù)的雛形
虛擬化標(biāo)準(zhǔn)的提出虛擬化的進(jìn)一步發(fā)展3、虛擬化帶來(lái)的好處
與傳統(tǒng)IT資源分配的應(yīng)用方式相比,使用虛擬化的優(yōu)勢(shì)有以下幾個(gè)方面:提高資源利用率降低成本,節(jié)能減排統(tǒng)一管理提高安全性第2節(jié)虛擬化的分類(lèi)
實(shí)際上,我們通常所說(shuō)的虛擬化技術(shù)是指服務(wù)器虛擬化技術(shù)。而除此之外,還有網(wǎng)絡(luò)虛擬化、存儲(chǔ)虛擬化以及應(yīng)用虛擬化等。1、服務(wù)器虛擬化
服務(wù)器虛擬化通過(guò)區(qū)分資源的優(yōu)先次序,并隨時(shí)隨地地將服務(wù)器資源分配給最需要它們的工作負(fù)載來(lái)簡(jiǎn)化管理和提高效率,從而減少為單個(gè)工作負(fù)載峰值而儲(chǔ)備的資源。通過(guò)服務(wù)器虛擬化技術(shù),用戶可以動(dòng)態(tài)地啟用虛擬服務(wù)器(虛擬機(jī))。x86服務(wù)器的虛擬化技術(shù)
完全虛擬化準(zhǔn)虛擬化操作系統(tǒng)層虛擬化2、網(wǎng)絡(luò)虛擬化
網(wǎng)絡(luò)虛擬化將不同網(wǎng)絡(luò)的硬件和軟件資源結(jié)合成一個(gè)虛擬的整體,通常包括虛擬局域網(wǎng)和虛擬專(zhuān)用網(wǎng)。3、存儲(chǔ)虛擬化
存儲(chǔ)虛擬化就是把各種不同的存儲(chǔ)設(shè)備有機(jī)的結(jié)合起來(lái)進(jìn)行使用,從而得到一個(gè)容量很大的“存儲(chǔ)池”,可以給各種服務(wù)器進(jìn)行靈活的使用,并且數(shù)據(jù)可以在各存儲(chǔ)設(shè)備間靈活轉(zhuǎn)移。存儲(chǔ)虛擬化的基本概念是將實(shí)際的物理存儲(chǔ)實(shí)體與存儲(chǔ)的邏輯表示分離開(kāi)來(lái),應(yīng)用服務(wù)器只與分配給它們的邏輯卷(或稱(chēng)虛卷)打交道,而不用關(guān)心其數(shù)據(jù)是在哪個(gè)物理存儲(chǔ)實(shí)體上。
存儲(chǔ)虛擬化技術(shù)主要分為硬件和軟件兩種方式來(lái)實(shí)現(xiàn)。4、應(yīng)用虛擬化
應(yīng)用虛擬化通常包括兩層含義,一是應(yīng)用軟件的虛擬化,二是桌面的虛擬化。
應(yīng)用軟件虛擬化,就是將應(yīng)用軟件從操作系統(tǒng)中分離出來(lái),通過(guò)壓縮后的可執(zhí)行文件夾來(lái)運(yùn)行,而不必需要任何設(shè)備驅(qū)動(dòng)程序或者與用戶的文件系統(tǒng)相連;
桌面虛擬化技術(shù)是把應(yīng)用程序的人機(jī)交互邏輯(應(yīng)用程序界面、鍵盤(pán)及鼠標(biāo)的操作、音頻輸入輸出、讀卡器、打印輸出等)與計(jì)算邏輯隔離開(kāi)來(lái),客戶端無(wú)需安裝軟件,通過(guò)網(wǎng)絡(luò)連接到應(yīng)用服務(wù)器上,計(jì)算邏輯從本地遷移到后臺(tái)的服務(wù)器完成,實(shí)現(xiàn)應(yīng)用的快速交付和統(tǒng)一管理。5、技術(shù)比較第3節(jié)系統(tǒng)虛擬化
系統(tǒng)虛擬化的核心思想是使用虛擬化軟件在一臺(tái)物理機(jī)上,虛擬出一臺(tái)或多臺(tái)虛擬機(jī)。步驟如下。利用虛擬化評(píng)估工具進(jìn)行容量規(guī)劃,實(shí)現(xiàn)同平臺(tái)應(yīng)用的資源整合;在服務(wù)器虛擬化的基礎(chǔ)上,虛擬化I/O和存儲(chǔ);實(shí)現(xiàn)虛擬資源池的統(tǒng)一管理;從虛擬化邁向云計(jì)算,通過(guò)云計(jì)算實(shí)現(xiàn)跨系統(tǒng)的資源動(dòng)態(tài)調(diào)整。第4節(jié)虛擬化與云計(jì)算云計(jì)算是業(yè)務(wù)模式,是產(chǎn)業(yè)形態(tài),它不是一種具體的技術(shù)。比如IaaS,PaaS和SaaS都是云計(jì)算的表現(xiàn)形式。而虛擬化技術(shù)是一種具體的技術(shù),虛擬化和分布式系統(tǒng)都是用來(lái)實(shí)現(xiàn)云計(jì)算的關(guān)鍵技術(shù)之一。虛擬化
通過(guò)虛擬化技術(shù),可以屏蔽不同硬件平臺(tái)的差異性,屏蔽不同硬件的差異所帶來(lái)的軟件兼容問(wèn)題;通過(guò)虛擬化技術(shù),可以將硬件的資源通過(guò)虛擬化軟件重新整合后分配給軟件使用。虛擬化技術(shù)實(shí)現(xiàn)了硬件無(wú)差別的封裝,這種方式很適合于部署在云計(jì)算的大規(guī)模應(yīng)用中。第5節(jié)開(kāi)源技術(shù)
1、Xen2、KVM
KVM使用Linux自身的調(diào)度器進(jìn)行管理,所以相對(duì)于Xen,其核心源碼很少,KVM的虛擬化需要硬件支持。它是基于硬件的完全虛擬化,目前已成為主流的VMM之一。3、OpenVZ
OpenVZ是基于Linux內(nèi)核和作業(yè)系統(tǒng)的操作系統(tǒng)級(jí)虛擬化技術(shù)。OpenVZ允許物理服務(wù)器運(yùn)行多個(gè)操作系統(tǒng),被稱(chēng)為虛擬專(zhuān)用服務(wù)器(VPS,VirtualPrivateServer)或虛擬環(huán)境(VE,VirtualEnvironment)。第6節(jié)虛擬化未來(lái)發(fā)展趨勢(shì)
云計(jì)算時(shí)代是開(kāi)放、共贏的時(shí)代,作為云計(jì)算基礎(chǔ)架構(gòu)的虛擬化技術(shù),將會(huì)不斷地有新的技術(shù)變革,逐步地增強(qiáng)開(kāi)放性、安全性、兼容性以及用戶體驗(yàn)。
連接協(xié)議標(biāo)準(zhǔn)化
平臺(tái)開(kāi)放化
公有云私有化
虛擬化客戶端硬件化第4章云計(jì)算的應(yīng)用第1節(jié)概述
云應(yīng)用跟云計(jì)算最大的不同在于,云計(jì)算作為一種宏觀技術(shù)發(fā)展概念而存在,而云應(yīng)用則是直接面對(duì)客戶解決實(shí)際問(wèn)題的產(chǎn)品。“云應(yīng)用”的工作原理是把傳統(tǒng)軟件“本地安裝、本地運(yùn)算”的使用方式變?yōu)椤奔慈〖从谩钡姆?wù),通過(guò)互聯(lián)網(wǎng)或局域網(wǎng)連接并操控遠(yuǎn)程服務(wù)器集群,完成業(yè)務(wù)邏輯或運(yùn)算任務(wù)的一種新型應(yīng)用。
跨平臺(tái)性
易用性
輕量性第2節(jié)Google的云計(jì)算平臺(tái)與應(yīng)用1、MapReduce分布式編程環(huán)境MapReduce通過(guò)“Map(映射)”和“Reduce(化簡(jiǎn))”這樣兩個(gè)簡(jiǎn)單的概念來(lái)參加運(yùn)算,用戶只需要提供自己的Map函數(shù)以及Reduce函數(shù)就可以在集群上進(jìn)行大規(guī)模的分布式數(shù)據(jù)處理。2、分布式大規(guī)模數(shù)據(jù)庫(kù)管理系統(tǒng)BigTable
為了處理Google公司內(nèi)部大量的格式化以及半格式化數(shù)據(jù),Google公司構(gòu)建了弱一致性要求的大規(guī)模數(shù)據(jù)庫(kù)系統(tǒng)BigTable。第3節(jié)亞馬遜的彈性計(jì)算云
彈性計(jì)算云(ElasticComputeCloud,EC2)開(kāi)放的服務(wù)靈活的工作模式第4節(jié)IBM藍(lán)云云計(jì)算平臺(tái)IBM公司在2007年11月15日推出了藍(lán)云計(jì)算平臺(tái),為用戶提供“即買(mǎi)即用”的云計(jì)算平臺(tái)。
它包括一系列的云計(jì)算產(chǎn)品,使得計(jì)算不僅僅局限在本地機(jī)器或遠(yuǎn)程服務(wù)器農(nóng)場(chǎng)(即服務(wù)器集群),通過(guò)架構(gòu)一個(gè)分布式、可全球訪問(wèn)的資源結(jié)構(gòu),使得數(shù)據(jù)中心在類(lèi)似于互聯(lián)網(wǎng)的環(huán)境下運(yùn)行計(jì)算。1、藍(lán)云云計(jì)算平臺(tái)中的虛擬化
在每一個(gè)節(jié)點(diǎn)上運(yùn)行的軟件棧與傳統(tǒng)的軟件棧一個(gè)很大的不同在于藍(lán)云云計(jì)算平臺(tái)內(nèi)部使用了虛擬化技術(shù)。通過(guò)將虛擬化的技術(shù)應(yīng)用到云計(jì)算的平臺(tái),可以獲得如下一些良好的特性:
云計(jì)算的管理平臺(tái)能夠動(dòng)態(tài)地將計(jì)算平臺(tái)定位到所需要的物理平臺(tái)上;
能夠更加有效率地使用主機(jī)資源;
通過(guò)動(dòng)態(tài)遷移,能夠獲得與應(yīng)用無(wú)關(guān)的負(fù)載平衡性能;
在部署上也更加靈活。2、藍(lán)云云計(jì)算平臺(tái)中的存儲(chǔ)結(jié)構(gòu)
在設(shè)計(jì)云計(jì)算平臺(tái)的存儲(chǔ)體系結(jié)構(gòu)的時(shí)候,不僅僅是需要考慮存儲(chǔ)的容量。實(shí)際上隨著硬盤(pán)容量的不斷擴(kuò)充以及硬盤(pán)價(jià)格的不斷下降,使用當(dāng)前的磁盤(pán)技術(shù),可以很容易通過(guò)使用多個(gè)磁盤(pán)的方式獲得很大的磁盤(pán)容量。下圖是一個(gè)SAN系統(tǒng)的結(jié)構(gòu)示意圖。第5節(jié)清華大學(xué)透明計(jì)算平臺(tái)
在透明計(jì)算中,用戶無(wú)須感知計(jì)算具體所在位置以及操作系統(tǒng)、中間件、應(yīng)用等技術(shù)細(xì)節(jié),只需要根據(jù)自己的需求,通過(guò)連通在網(wǎng)絡(luò)之上的各種設(shè)備選取相應(yīng)的服務(wù)。第6節(jié)阿里云
阿里云是阿里巴巴集團(tuán)旗下的云計(jì)算品牌,全球卓越的云計(jì)算技術(shù)和服務(wù)提供商。1、簡(jiǎn)介
阿里云致力于為企業(yè)、政府等組織機(jī)構(gòu),提供最安全、可靠的計(jì)算和數(shù)據(jù)處理能力,讓計(jì)算成為普惠科技和公共服務(wù),為萬(wàn)物互聯(lián)的DT世界,提供源源不斷的新能源。
阿里云在全球各地部署高效節(jié)能的綠色數(shù)據(jù)中心,利用清潔計(jì)算支持不同的互聯(lián)網(wǎng)應(yīng)用。2、阿里云的發(fā)展過(guò)程
2015年天貓雙11,阿里云用技術(shù)支撐912億交易額,每秒交易創(chuàng)建峰值達(dá)14萬(wàn)筆。全球最大規(guī)模混合云架構(gòu)、全球首個(gè)核心交易系統(tǒng)上云、1000公里外交易支付“異地多活”、全球首個(gè)金融級(jí)數(shù)據(jù)庫(kù)OceanBase等世界級(jí)的技術(shù),通過(guò)阿里云向外輸出。3、阿里云的主要產(chǎn)品
底層技術(shù)平臺(tái)
彈性計(jì)算
云數(shù)據(jù)庫(kù)RDS
存儲(chǔ)與CDN
網(wǎng)絡(luò)
大規(guī)模計(jì)算
云盾
管理與監(jiān)控
應(yīng)用服務(wù)
萬(wàn)網(wǎng)服務(wù)第7節(jié)MicrosoftAzure1、簡(jiǎn)介WindowsAzure是微軟基于云計(jì)算的操作系統(tǒng),現(xiàn)在更名為“MicrosoftAzure”,和AzureServicesPlatform一樣,是微軟“軟件和服務(wù)”技術(shù)的名稱(chēng)。MicrosoftAzure的主要目標(biāo)是為開(kāi)發(fā)者提供一個(gè)平臺(tái),幫助開(kāi)發(fā)可運(yùn)行在云服務(wù)器、數(shù)據(jù)中心、Web和PC上的應(yīng)用程序。
云計(jì)算的開(kāi)發(fā)者能使用微軟全球數(shù)據(jù)中心的儲(chǔ)存、計(jì)算能力和網(wǎng)絡(luò)基礎(chǔ)服務(wù)。
Azure服務(wù)平臺(tái)包括了以下主要組件:MicrosoftAzure;MicrosoftSQL數(shù)據(jù)庫(kù)服務(wù),Microsoft.Net服務(wù);用于分享、儲(chǔ)存和同步文件的Live服務(wù);針對(duì)商業(yè)的MicrosoftSharePoint和MicrosoftDynamicsCRM服務(wù)。2、MicrosoftAzure架構(gòu)MicrosoftAzure具有針對(duì)數(shù)據(jù)中心架構(gòu)的自我管理(autonomous)機(jī)能,可以自動(dòng)監(jiān)控劃分在數(shù)據(jù)中心數(shù)個(gè)不同的分區(qū)(微軟將這些分區(qū)稱(chēng)為FaultDomain)的所有服務(wù)器與存儲(chǔ)資源,自動(dòng)更新補(bǔ)丁,自動(dòng)運(yùn)行虛擬機(jī)部署與鏡像備份(SnapshotBackup)等能力。MicrosoftAzure被安裝在數(shù)據(jù)中心的所有服務(wù)器中,并且定時(shí)和中控軟件(MicrosoftAzureFabricController)進(jìn)行溝通,接收指令以及回傳運(yùn)行狀態(tài)數(shù)據(jù)等,系統(tǒng)管理人員只要通過(guò)MicrosoftAzureFabricController就能夠掌握所有服務(wù)器的運(yùn)行狀態(tài)。3、MicrosoftAzure服務(wù)平臺(tái)
網(wǎng)站
VirtualMachinesCloudServicesMobile服務(wù)
大型數(shù)據(jù)處理
Media媒體支持4、開(kāi)發(fā)步驟
使用WindowsAzure的專(zhuān)用工具專(zhuān)為分布式處理進(jìn)行設(shè)計(jì)
為最佳性能進(jìn)行規(guī)劃第5章大數(shù)據(jù)概念和發(fā)展背景大數(shù)據(jù)定義大數(shù)據(jù)是一個(gè)不斷發(fā)展的概念,可以指任何體量或復(fù)雜性超出常規(guī)數(shù)據(jù)處理方法和處理能力的數(shù)據(jù)數(shù)據(jù)本身可以是結(jié)構(gòu)化、半結(jié)構(gòu)化甚至是非結(jié)構(gòu)化的海量數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)半結(jié)構(gòu)化數(shù)據(jù)大數(shù)據(jù)定義狹義上講,大數(shù)據(jù)主要是指處理海量數(shù)據(jù)的關(guān)鍵技術(shù)及其在各個(gè)領(lǐng)域中的應(yīng)用廣義上講,大數(shù)據(jù)包括大數(shù)據(jù)技術(shù)、大數(shù)據(jù)工程、大數(shù)據(jù)科學(xué)和大數(shù)據(jù)應(yīng)用等與大數(shù)據(jù)相關(guān)的領(lǐng)域大數(shù)據(jù)的特點(diǎn)IBM公司使用3V來(lái)描述大數(shù)據(jù)的特點(diǎn)Volume(體量)。通過(guò)各種設(shè)備產(chǎn)生的海量數(shù)據(jù)體量巨大,遠(yuǎn)大于目前互聯(lián)網(wǎng)上的信息流量
Variety(多樣)。大數(shù)據(jù)類(lèi)型繁多,在編碼方式、數(shù)據(jù)格式、應(yīng)用特征等多個(gè)方面存在差異
Velocity(速率)。數(shù)據(jù)以非常高的速率到達(dá)系統(tǒng)內(nèi)部,這就要求處理數(shù)據(jù)段的速度必須非???/p>
大數(shù)據(jù)的發(fā)展大數(shù)據(jù)技術(shù)是一種新一代技術(shù)和構(gòu)架,它成本較低,以快速的采集、處理和分析技術(shù)從各種超大規(guī)模的數(shù)據(jù)中提取價(jià)值
大數(shù)據(jù)采集與預(yù)處理方向-目前很多公司已經(jīng)推出了多種數(shù)據(jù)清洗和質(zhì)量控制工具(如IBM公司的DataStage)大數(shù)據(jù)存儲(chǔ)與管理方向-這個(gè)方向最常見(jiàn)的挑戰(zhàn)是存儲(chǔ)規(guī)模大,存儲(chǔ)管理復(fù)雜,需要兼顧結(jié)構(gòu)化、非結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)大數(shù)據(jù)計(jì)算模式方向-目前出現(xiàn)了多種典型的計(jì)算模式,包括大數(shù)據(jù)查詢分析計(jì)算(如Hive)、批處理計(jì)算(如Hadoop
MapReduce)等大數(shù)據(jù)的發(fā)展大數(shù)據(jù)技術(shù)是一種新一代技術(shù)和構(gòu)架,它成本較低,以快速的采集、處理和分析技術(shù)從各種超大規(guī)模的數(shù)據(jù)中提取價(jià)值
大數(shù)據(jù)分析與挖掘方向-在數(shù)據(jù)量迅速增加的同時(shí),還要進(jìn)行深度的數(shù)據(jù)分析和挖掘,并且對(duì)自動(dòng)化分析要求越來(lái)越高
大數(shù)據(jù)可視化分析方向-通過(guò)可視化方式來(lái)幫助人們探索和解釋復(fù)雜的數(shù)據(jù),有利于決策者挖掘數(shù)據(jù)的商業(yè)價(jià)值,進(jìn)而有助于大數(shù)據(jù)的發(fā)展
大數(shù)據(jù)安全方向-文件訪問(wèn)控制權(quán)限ACL、基礎(chǔ)設(shè)備加密、匿名化保護(hù)技術(shù)和加密保護(hù)等技術(shù)正在最大程度地保護(hù)數(shù)據(jù)安全大數(shù)據(jù)的應(yīng)用梅西百貨的實(shí)時(shí)定價(jià)機(jī)制-根據(jù)需求和庫(kù)存的情況,該公司基于SAS的系統(tǒng)對(duì)多達(dá)7300萬(wàn)種貨品進(jìn)行實(shí)時(shí)調(diào)價(jià)Tipp24AG針對(duì)歐洲博彩業(yè)構(gòu)建的下注和預(yù)測(cè)平臺(tái)-該公司用KXEN軟件來(lái)分析數(shù)十億計(jì)的交易以及客戶的特性,然后通過(guò)預(yù)測(cè)模型對(duì)特定用戶進(jìn)行動(dòng)態(tài)的營(yíng)銷(xiāo)活動(dòng)沃爾瑪?shù)乃阉?這家零售業(yè)寡頭為其網(wǎng)站W(wǎng)自行設(shè)計(jì)了最新的搜索引擎Polaris,利用語(yǔ)義數(shù)據(jù)進(jìn)行文本分析、機(jī)器學(xué)習(xí)和同義詞挖掘等TescoPLC(特易購(gòu))和運(yùn)營(yíng)效率-
這家連鎖超市在其數(shù)據(jù)倉(cāng)庫(kù)中收集了700萬(wàn)部冰箱的數(shù)據(jù)。通過(guò)對(duì)這些數(shù)據(jù)的分析進(jìn)行更全面的監(jiān)控,并進(jìn)行主動(dòng)的維修以降低整體能耗第6章大數(shù)據(jù)系統(tǒng)架構(gòu)概述總體架構(gòu)概述總體架構(gòu)設(shè)計(jì)原則
滿足大數(shù)據(jù)的V3要求
大數(shù)據(jù)容量的加載、處理和分析-要求大數(shù)據(jù)應(yīng)用平臺(tái)經(jīng)過(guò)擴(kuò)展可以支持GB、TB、PB、EB甚至ZB規(guī)模的數(shù)據(jù)集
各種類(lèi)型數(shù)據(jù)的加載、處理和分析-支持各種各樣的數(shù)據(jù)類(lèi)型,支持處理交易數(shù)據(jù)、各種非結(jié)構(gòu)化數(shù)據(jù)、機(jī)器數(shù)據(jù)以及其他新數(shù)據(jù)結(jié)構(gòu)
大數(shù)據(jù)的處理速度-在很高速度(GB/s)的加載過(guò)程中集成來(lái)自多個(gè)來(lái)源的數(shù)據(jù)總體架構(gòu)概述總體架構(gòu)設(shè)計(jì)原則
滿足企業(yè)級(jí)應(yīng)用的要求
高可擴(kuò)展性-要求平臺(tái)符合企業(yè)未來(lái)業(yè)務(wù)發(fā)展要求以及對(duì)新業(yè)務(wù)的響應(yīng),要求大數(shù)據(jù)架構(gòu)具備支持調(diào)度和執(zhí)行數(shù)百上千節(jié)點(diǎn)的負(fù)載工作流
高可用性-要求平臺(tái)能夠具備實(shí)時(shí)計(jì)算環(huán)境所具備的高可用性,在單點(diǎn)故障的情況下能夠保證應(yīng)用的可用性安全性和保護(hù)隱私-系統(tǒng)在數(shù)據(jù)采集、存儲(chǔ)、分析架構(gòu)上保證數(shù)據(jù)、網(wǎng)絡(luò)、存儲(chǔ)和計(jì)算的安全性,具備保護(hù)個(gè)人和企業(yè)隱私的措施
開(kāi)放性-要求平臺(tái)能夠支持計(jì)算和存儲(chǔ)數(shù)以千計(jì)的、地理位置可能不同的、可能異構(gòu)的計(jì)算節(jié)點(diǎn)
易用性總體架構(gòu)概述總體架構(gòu)參考模型-
基于Apache開(kāi)源技術(shù)的大數(shù)據(jù)平臺(tái)總體架構(gòu)參考模型如圖所示,大數(shù)據(jù)的產(chǎn)生、組織和處理主要是通過(guò)分布式分揀處理系統(tǒng)來(lái)實(shí)現(xiàn)的,主流的技術(shù)是Hadoop+MapReduce總體架構(gòu)概述大數(shù)據(jù)基礎(chǔ)-這一部分提供了大數(shù)據(jù)框架的基礎(chǔ),包括序列化、分布式協(xié)同等基礎(chǔ)服務(wù),構(gòu)成了上層應(yīng)用的基礎(chǔ)Avro-新的數(shù)據(jù)序列化與傳輸工具,將逐步取代Hadoop原有的IPC機(jī)制。
ZooKeeper-分布式鎖設(shè)施,它是一個(gè)分布式應(yīng)用程序的集中配置管理器,用戶分布式應(yīng)用的高性能協(xié)同服務(wù),由Facebook貢獻(xiàn),也可以獨(dú)立于Hadoop使用。大數(shù)據(jù)存儲(chǔ)-HDFS是Hadoop分布式文件系統(tǒng),HDFS運(yùn)行于大規(guī)模集群之上,集群使用廉價(jià)的普通機(jī)器構(gòu)建,整個(gè)文件系統(tǒng)采用的是元數(shù)據(jù)集中管理與數(shù)據(jù)塊分散存儲(chǔ)相結(jié)合的模式,并通過(guò)數(shù)據(jù)的冗余復(fù)制來(lái)實(shí)現(xiàn)高度容錯(cuò)
總體架構(gòu)概述大數(shù)據(jù)處理-基于MapReduce寫(xiě)出的應(yīng)用程序能夠運(yùn)行在由上千個(gè)普通機(jī)器組成的大型集群上,并以一種可靠容錯(cuò)的方式并行處理TB級(jí)別以上的數(shù)據(jù)集大數(shù)據(jù)訪問(wèn)和分析-在Hadoop+MapReduce之上架構(gòu)的是基礎(chǔ)平臺(tái)服務(wù),在基礎(chǔ)平臺(tái)之上是大數(shù)據(jù)訪問(wèn)和分析的應(yīng)用服務(wù)Pig-Pig支持的常用數(shù)據(jù)分析主要有分組、過(guò)濾、合并等,Pig為創(chuàng)建ApacheMapReduce應(yīng)用程序提供了一款相對(duì)簡(jiǎn)單的工具Hive-Hive是由Facebook貢獻(xiàn)的數(shù)據(jù)倉(cāng)庫(kù)工具,是MapReduce實(shí)現(xiàn)的用來(lái)查詢分析結(jié)構(gòu)化數(shù)據(jù)的中間件
Sqoop-Sqoop由Cloudera開(kāi)發(fā),是一種用于在Hadoop與傳統(tǒng)數(shù)據(jù)庫(kù)間進(jìn)行數(shù)據(jù)傳遞的開(kāi)源工具
Mahout-
ApacheMahout項(xiàng)目提供分布式機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘庫(kù)運(yùn)行架構(gòu)概述物理架構(gòu)-企業(yè)大數(shù)據(jù)系統(tǒng)的各層次系統(tǒng)最終要部署到主機(jī)節(jié)點(diǎn)中,這些節(jié)點(diǎn)通過(guò)網(wǎng)絡(luò)連接成為一個(gè)整體,為企業(yè)的大數(shù)據(jù)應(yīng)用提供物理支撐集成架構(gòu)-企業(yè)大數(shù)據(jù)系統(tǒng)由多個(gè)系統(tǒng)集成而成,每個(gè)系統(tǒng)都提供了多種協(xié)議和接口,以便企業(yè)大數(shù)據(jù)系統(tǒng)的內(nèi)部系統(tǒng)間集成和外部系統(tǒng)與大數(shù)據(jù)系統(tǒng)的集成安全架構(gòu)-由于企業(yè)大數(shù)據(jù)系統(tǒng)的數(shù)據(jù)資源和計(jì)算資源廣泛地分布在多個(gè)節(jié)點(diǎn)上,所以用戶的身份、權(quán)限等安全,數(shù)據(jù)資源的存儲(chǔ)、傳輸、訪問(wèn)等安全,以及計(jì)算資源的訪問(wèn)、監(jiān)控、調(diào)整、恢復(fù)等安全,都是企業(yè)大數(shù)據(jù)系統(tǒng)在進(jìn)行安全架構(gòu)設(shè)計(jì)時(shí)需要考慮的問(wèn)題阿里云飛天系統(tǒng)體系架構(gòu)
飛天(Apsara)是由阿里云自主研發(fā)、服務(wù)全球的超大規(guī)模通用計(jì)算操作系統(tǒng)
它可以將遍布全球的百萬(wàn)級(jí)服務(wù)器連成一臺(tái)超級(jí)計(jì)算機(jī)、以在線公共服務(wù)的方式為社會(huì)提供計(jì)算能力
7年過(guò)去,飛天已經(jīng)為全球200多個(gè)國(guó)家和地區(qū)的創(chuàng)新創(chuàng)業(yè)企業(yè)、政府、機(jī)構(gòu)等提供服務(wù)阿里云飛天系統(tǒng)體系架構(gòu)阿里云飛天整體架構(gòu)-飛天平臺(tái)的體系架構(gòu)如圖所示,整個(gè)飛天平臺(tái)包括飛天內(nèi)核和飛天開(kāi)發(fā)服務(wù)兩大部分阿里云飛天系統(tǒng)體系架構(gòu)飛天管理著互聯(lián)網(wǎng)規(guī)模的基礎(chǔ)設(shè)施。其最底層是遍布全球的幾十個(gè)數(shù)據(jù)中心和數(shù)百個(gè)PoP節(jié)點(diǎn)飛天內(nèi)核跑在每個(gè)數(shù)據(jù)中心里面,它負(fù)責(zé)統(tǒng)一管理數(shù)據(jù)中心內(nèi)的通用服務(wù)器集群,調(diào)度集群的計(jì)算、存儲(chǔ)資源,支撐分布式應(yīng)用的部署和執(zhí)行安全管理根植在飛天內(nèi)核最底層。飛天內(nèi)核提供的授權(quán)機(jī)制能夠有效實(shí)現(xiàn)“最小權(quán)限原則(principle
of
least
privilege)”,同時(shí)還建立了自主可控的全棧安全體系監(jiān)控報(bào)警診斷是飛天內(nèi)核最基本的能力之一。飛天內(nèi)核對(duì)上層應(yīng)用提供了非常詳細(xì)的、無(wú)間斷的監(jiān)控?cái)?shù)據(jù)和系統(tǒng)事件采集在基礎(chǔ)公共模塊之上有兩個(gè)最核心的服務(wù),一個(gè)叫盤(pán)古,一個(gè)叫伏羲天基是飛天的自動(dòng)化運(yùn)維服務(wù),負(fù)責(zé)飛天各個(gè)子系統(tǒng)的部署、升級(jí)、擴(kuò)容以及故障遷移阿里云飛天平臺(tái)內(nèi)核阿里云飛天平臺(tái)內(nèi)核可以分成以下幾個(gè)部分
分布式系統(tǒng)底層服務(wù)-其提供分布式環(huán)境下所需要的分布式協(xié)調(diào)服務(wù)、遠(yuǎn)程過(guò)程調(diào)用服務(wù)、安全管理、分布式資源調(diào)度等功能盤(pán)古分布式文件系統(tǒng)-盤(pán)古(Pangu)是一個(gè)分布式文件系統(tǒng),盤(pán)古系統(tǒng)的設(shè)計(jì)目標(biāo)是將大量通用機(jī)器的存儲(chǔ)資源聚合在一起,為用戶提供大規(guī)模、高可靠、高可用、高吞吐量和可擴(kuò)展的存儲(chǔ)服務(wù)
伏羲任務(wù)調(diào)度系統(tǒng)-該系統(tǒng)為集群中的任務(wù)提供調(diào)度服務(wù),同時(shí)支持強(qiáng)調(diào)響應(yīng)速度的在線服務(wù)(OnlineService)和強(qiáng)調(diào)處理數(shù)據(jù)吞吐量的離線任務(wù)(BatchProcessingJob)
集群監(jiān)控和部署-神農(nóng)(Shennong)是飛天平臺(tái)內(nèi)核中負(fù)責(zé)信息收集、監(jiān)控和診斷的模塊,大禹(Dayu)是飛天內(nèi)核中負(fù)責(zé)提供配置管理和部署的模塊阿里云飛天開(kāi)放服務(wù)飛天開(kāi)放服務(wù),包括彈性計(jì)算(ECS)、阿里云對(duì)象存儲(chǔ)(OSS)、表格存儲(chǔ)服務(wù)(TableStore)、關(guān)系型數(shù)據(jù)庫(kù)服務(wù)(RDS)、流式計(jì)算服務(wù)(StreamCompute)和大數(shù)據(jù)計(jì)算服務(wù)(MaxCompute)等
彈性計(jì)算(ECS)
-云服務(wù)器ECS(ElasticComputeService)是一種云計(jì)算服務(wù),它的管理方式比物理服務(wù)器更加簡(jiǎn)單、高效
阿里云對(duì)象存儲(chǔ)(OSS)
-阿里云對(duì)象存儲(chǔ)(ObjectStorageService,OSS)是阿里云對(duì)外提供的海量、安全、低成本、高可靠的云存儲(chǔ)服務(wù)
表格存儲(chǔ)(TableStore)-它是構(gòu)建在阿里云飛天分布式系統(tǒng)之上的NoSQL數(shù)據(jù)存儲(chǔ)服務(wù),提供海量結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)和實(shí)時(shí)訪問(wèn)大數(shù)據(jù)計(jì)算服務(wù)(MaxCompute)-大數(shù)據(jù)計(jì)算服務(wù)(MaxCompute,原名ODPS)是一種快速、完全托管的TB/PB級(jí)數(shù)據(jù)倉(cāng)庫(kù)解決方案阿里云飛天的特色阿里云飛天OpenStack和Hadoop的不同
OpenStack和Hadoop是軟件,它們并沒(méi)有解決客戶的CAPEX投入問(wèn)題、運(yùn)維人員投入問(wèn)題,需要部署到自有的硬件上,一般只用于單個(gè)企業(yè)的內(nèi)部環(huán)境
飛天上面提供了基于Hadoop、EMR、Mongo等開(kāi)源軟件的托管服務(wù),這是飛天開(kāi)放能力的體現(xiàn)阿里云飛天與
VMware、華為FusionSphere
的不同虛擬化不等于云計(jì)算,云的實(shí)時(shí)在線、海量彈性、多租戶隔離、專(zhuān)業(yè)運(yùn)維都是傳統(tǒng)虛擬化軟件所欠缺的
VMware的三大件主要解決了計(jì)算的效率問(wèn)題,但是沒(méi)有解決計(jì)算的規(guī)模問(wèn)題華為的FusionSphere其實(shí)是基于開(kāi)源軟件進(jìn)行定制并適配華為硬件的軟件系統(tǒng),飛天內(nèi)核在規(guī)模、性能、穩(wěn)定性和通用性上都超越了FusionSphere主流大數(shù)據(jù)系統(tǒng)廠商
Cloudera-Cloudera是一家專(zhuān)業(yè)從事基于ApacheHadoop的數(shù)據(jù)管理軟件銷(xiāo)售和服務(wù)的公司,它發(fā)布的實(shí)時(shí)查詢開(kāi)源項(xiàng)目Impala比基于MapReduce的HiveSQL的查詢速度提升了3~90倍Hortonworks-Hortonworks的開(kāi)放式互聯(lián)平臺(tái)幫助企業(yè)管理所擁有的數(shù)據(jù)(動(dòng)態(tài)數(shù)據(jù)以及靜態(tài)數(shù)據(jù)),為用戶組織啟用可操作情報(bào)。主流大數(shù)據(jù)系統(tǒng)廠商Amazon–
Amazon的AWS本身就是最完整的大數(shù)據(jù)平臺(tái),AmazonWebServices提供了一系列廣泛的服務(wù),可以快速、輕松地構(gòu)建和部署大數(shù)據(jù)分析應(yīng)用程序
Google-
Google提出的MapReduce計(jì)算框架在很多大數(shù)據(jù)領(lǐng)域得到了非常廣泛的應(yīng)用
微軟-微軟推出的商業(yè)數(shù)據(jù)分析系統(tǒng)Microsoft
Analytics
Platform
System能夠通過(guò)其擴(kuò)充的大規(guī)模平行處理整合式系統(tǒng)支持混合格式的數(shù)據(jù)倉(cāng)庫(kù),借此適應(yīng)數(shù)據(jù)倉(cāng)庫(kù)環(huán)境不斷發(fā)展的需求阿里云數(shù)加平臺(tái)數(shù)加是阿里云為企業(yè)大數(shù)據(jù)的實(shí)施提供的一套完整的一站式大數(shù)據(jù)解決方案,覆蓋數(shù)加平臺(tái)由大數(shù)據(jù)計(jì)算服務(wù)(MaxCompute)、分析型數(shù)據(jù)庫(kù)(AnalyticDB)、流計(jì)算(StreamCompute)共同組成了底層強(qiáng)大的計(jì)算引擎,速度更快,成本更低阿里云數(shù)加平臺(tái)架構(gòu)一站式解決方案第7章分布式通信與協(xié)同數(shù)據(jù)編碼傳輸數(shù)據(jù)編碼概述-在分布式系統(tǒng)中需要處理大量的網(wǎng)絡(luò)數(shù)據(jù),為了加快網(wǎng)絡(luò)數(shù)據(jù)的傳輸速度,通常需要對(duì)傳輸數(shù)據(jù)進(jìn)行編碼壓縮一般來(lái)說(shuō),數(shù)據(jù)壓縮主要是通過(guò)數(shù)據(jù)壓縮編碼來(lái)實(shí)現(xiàn)的。在給定的模型下通過(guò)數(shù)據(jù)編碼來(lái)消除冗余,大致有以下3種情況信源符號(hào)之間存在相關(guān)性信源符號(hào)之間存在分布不等概性利用信息內(nèi)容本身的特點(diǎn)(如自相似性)
數(shù)據(jù)編碼傳輸目前比較認(rèn)同的、常用的數(shù)據(jù)壓縮的編碼方法大致分為兩大類(lèi)
冗余壓縮法或無(wú)損壓縮法-這類(lèi)壓縮方法只是去掉數(shù)據(jù)中的冗余部分,并沒(méi)有損失熵,而這些冗余數(shù)據(jù)是可以重新插入到原數(shù)據(jù)中的
熵壓縮法或有損壓縮法-這類(lèi)壓縮法由于壓縮了熵,也就損失了信息量,而損失的信息是不能恢復(fù)的LZSS算法LZSS算法屬于字典算法,是把文本中出現(xiàn)頻率較高的字符組合做成一個(gè)對(duì)應(yīng)的字典列表,并用特殊代碼來(lái)表示這個(gè)字符
LZSS算法的字典模型使用自適應(yīng)方式,基本的思路是搜索目前待壓縮串是否在以前出現(xiàn)過(guò)Snappy壓縮庫(kù)Snappy是在Google公司內(nèi)部生產(chǎn)環(huán)境中被許多項(xiàng)目使用的壓縮/解壓縮的鏈接庫(kù),使用該庫(kù)的軟件包括BigTable、MapReduce和RPC等
Snappy是面向字節(jié)編碼的LZ77類(lèi)型壓縮器。Snappy采用的編碼單元是字節(jié)(byte),而不是比特(bit)采用小端方式(little-endian)存儲(chǔ),同時(shí)兼顧可變長(zhǎng)度編碼遠(yuǎn)程過(guò)程調(diào)用遠(yuǎn)程過(guò)程調(diào)用(RemoteProcedureCall)是一個(gè)計(jì)算機(jī)通信協(xié)議,通過(guò)該協(xié)議運(yùn)行于一臺(tái)計(jì)算機(jī)上的程序可以調(diào)用另一臺(tái)計(jì)算機(jī)的子程序,而程序員無(wú)須額外地為這個(gè)交互編程。RPC框架都支持以下特性:接口描述語(yǔ)言、高性能、數(shù)據(jù)版本支持以及二進(jìn)制數(shù)據(jù)格式Thrift是由Facebook公司開(kāi)發(fā)的遠(yuǎn)程服務(wù)調(diào)用框架,它采用接口描述語(yǔ)言定義并創(chuàng)建服務(wù),支持可擴(kuò)展的跨語(yǔ)言服務(wù)開(kāi)發(fā)消息隊(duì)列消息隊(duì)列也是設(shè)計(jì)大規(guī)模分布式系統(tǒng)時(shí)經(jīng)常采用的中間件產(chǎn)品消息隊(duì)列是在消息傳遞過(guò)程中保存消息的容器或中間件,其主要目的是提供消息路由并保障消息可靠傳遞分布式消息系統(tǒng)Kafka采用pub-sub機(jī)制,具有極高的消息吞吐量、較強(qiáng)的擴(kuò)展型和高可用性應(yīng)用層多播通信分布式系統(tǒng)中的一個(gè)重要的研究?jī)?nèi)容是如何將數(shù)據(jù)通知到網(wǎng)絡(luò)中的多個(gè)接收方,這一般被稱(chēng)為多播通信Gosip協(xié)議就是常見(jiàn)的應(yīng)用層多播通信協(xié)議Gossip協(xié)議也被稱(chēng)為“感染協(xié)議”(EpidemicProtocol),用來(lái)盡快地將本地更新數(shù)據(jù)通知到網(wǎng)絡(luò)中的所有其他節(jié)點(diǎn)其具體更新模型又可以分為3種:全通知模型、反熵模型和散步謠言模型阿里云KuafuRPC系統(tǒng)夸父(Kuafu)是飛天平臺(tái)內(nèi)核中負(fù)責(zé)網(wǎng)絡(luò)通信的模塊,它提供了一個(gè)RPC的接口,簡(jiǎn)化編寫(xiě)基于網(wǎng)絡(luò)的分布式應(yīng)用夸父的設(shè)計(jì)目標(biāo)是提供高可用(7×24小時(shí))、大吞吐量(Gigabyte)、高效率、易用(簡(jiǎn)明API、多種協(xié)議和編程接口)的RPC服務(wù)HadoopIPC的應(yīng)用在Hadoop系統(tǒng)中,HadoopIPC為HDFS、MapReduce提供了高效的RPC通信機(jī)制HadoopIPC的Server端相對(duì)比較復(fù)雜,包括Listener、Reader、Handler和Responder等多種類(lèi)型的線程分布式協(xié)同系統(tǒng)當(dāng)前的大規(guī)模分布式系統(tǒng)涉及大量的機(jī)器,這些機(jī)器之間需要進(jìn)行大量的網(wǎng)絡(luò)通信以及各個(gè)節(jié)點(diǎn)之間的消息通信協(xié)同Chubby鎖服務(wù)
Chubby是Google公司研發(fā)的針對(duì)分布式系統(tǒng)協(xié)調(diào)管理的粗粒度服務(wù)Chubby的理論基礎(chǔ)是Paxos(一致性協(xié)議),Paxos是在完全分布式環(huán)境下不同客戶端能夠通過(guò)交互通信并投票對(duì)于某個(gè)決定達(dá)成一致的算法
Chubby的設(shè)計(jì)目標(biāo)基于以下幾點(diǎn):高可用性、高可靠性、支持粗粒度的建議性鎖服務(wù)、支持小規(guī)模文件直接存儲(chǔ)Client與Chubby的通信ZooKeperZooKeper是Yahoo!開(kāi)發(fā)的一套開(kāi)源高吞吐分布式協(xié)調(diào)系統(tǒng)ZooKeeper是由多臺(tái)同構(gòu)服務(wù)器構(gòu)成的一個(gè)集群,共用信息存儲(chǔ)在集群系統(tǒng)中,共用信息采用樹(shù)形結(jié)構(gòu)來(lái)存儲(chǔ)阿里云Nuwa協(xié)同系統(tǒng)女?huà)z(Nuwa)系統(tǒng)為飛天提供高可用的協(xié)調(diào)服務(wù)(CoordinationService),是構(gòu)建各類(lèi)分布式應(yīng)用的核心服務(wù)
女?huà)z系統(tǒng)基于類(lèi)Paxos協(xié)議,由多個(gè)女?huà)zServer以類(lèi)似文件系統(tǒng)的樹(shù)形結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),提供高可用、高并發(fā)用戶請(qǐng)求的處理能力ZooKeeper在HDFS高可用方案中的使用第8章大數(shù)據(jù)存儲(chǔ)大數(shù)據(jù)的存儲(chǔ)問(wèn)題容量-“大容量”通常是指可達(dá)PB級(jí)的數(shù)據(jù)規(guī)模延遲-大數(shù)據(jù)應(yīng)用不可避免地存在實(shí)時(shí)性的問(wèn)題安全-催生出了一些新的、需要重新考慮的安全性問(wèn)題成本-只有讓每一臺(tái)設(shè)備都實(shí)現(xiàn)更高的“效率”,才能控制住成本靈活性-大數(shù)據(jù)存儲(chǔ)系統(tǒng)的基礎(chǔ)設(shè)施規(guī)模都很大,為了保證存儲(chǔ)系統(tǒng)的靈活性,使其能夠隨時(shí)擴(kuò)容及擴(kuò)展
大數(shù)據(jù)存儲(chǔ)技術(shù)的發(fā)展人工管理文件系統(tǒng)數(shù)據(jù)庫(kù)GoogleFileSystem、HDFS、HBase
etc海量數(shù)據(jù)存儲(chǔ)的關(guān)鍵技術(shù)大數(shù)據(jù)處理面臨的首要問(wèn)題是如何有效地存儲(chǔ)規(guī)模巨大的數(shù)據(jù)數(shù)據(jù)分片和數(shù)據(jù)復(fù)制數(shù)據(jù)分片與路由對(duì)于海量數(shù)據(jù),將數(shù)據(jù)進(jìn)行切分并分配到各個(gè)機(jī)器中的過(guò)程叫分片(shard/partition),即將不同數(shù)據(jù)存放在不同節(jié)點(diǎn)數(shù)據(jù)分片后,找到某條記錄的存儲(chǔ)位置稱(chēng)為數(shù)據(jù)路由(routing)數(shù)據(jù)分片與路由的抽象模型如右圖所示數(shù)據(jù)分片把數(shù)據(jù)的各個(gè)部分存放在不同的服務(wù)器/節(jié)點(diǎn)中,每個(gè)服務(wù)器/節(jié)點(diǎn)負(fù)責(zé)自身數(shù)據(jù)的讀取與寫(xiě)入操作,以此實(shí)現(xiàn)橫向擴(kuò)展,這種技術(shù)稱(chēng)為分片如何存放數(shù)據(jù)-可以實(shí)現(xiàn)用戶從一個(gè)邏輯節(jié)點(diǎn)(實(shí)際多個(gè)物理節(jié)點(diǎn)的方式)獲取數(shù)據(jù),并且不用擔(dān)心數(shù)據(jù)的存放位置如何保證負(fù)載平衡-即如何把聚合數(shù)據(jù)均勻地分布在各個(gè)節(jié)點(diǎn)中,讓它們需要處理的負(fù)載量相等
哈希分片采用哈希函數(shù)建立Key-Partition映射,其只支持點(diǎn)查詢,不支持范圍查詢,主要有RoundRobin、虛擬桶、一致性哈希3種算法RoundRobin
-其俗稱(chēng)哈希取模算法,若有k臺(tái)機(jī)器,分片算法如下:
H(key)
=hash(key)
modk優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單缺點(diǎn):缺乏靈活性,若有新機(jī)器加入,之前所有數(shù)據(jù)與機(jī)器之間的映射關(guān)系都被打亂,需要重新計(jì)算
哈希分片虛擬桶-在RoundRobin的基礎(chǔ)上,虛擬桶算法加入一個(gè)“虛擬桶層”,形成兩級(jí)映射所有記錄首先通過(guò)哈希函數(shù)映射到對(duì)應(yīng)的虛擬桶(多對(duì)一映射)。虛擬桶和物理機(jī)之間再有一層映射(同樣是多對(duì)一)右圖是Membase虛擬桶的運(yùn)行優(yōu)點(diǎn):增加了系統(tǒng)擴(kuò)展的靈活性缺點(diǎn):實(shí)現(xiàn)相對(duì)麻煩
哈希分片一致性哈希-一致性哈希是分布式哈希表的一種實(shí)現(xiàn)算法,將哈希數(shù)值空間按照大小組成一個(gè)首尾相接的環(huán)狀序列。對(duì)于一致性哈??赡茉斐傻母鱾€(gè)節(jié)點(diǎn)負(fù)載不均衡的情況,可以采用虛擬節(jié)點(diǎn)的方式來(lái)解決在哈??臻g可容納長(zhǎng)度為32的二進(jìn)制數(shù)值(m=32)空間里,每個(gè)機(jī)器根據(jù)IP地址或者端口號(hào)經(jīng)過(guò)哈希函數(shù)映射到環(huán)內(nèi)
范圍分片范圍分片首先將所有記錄的主鍵進(jìn)行排序,然后在排好序的主鍵空間里將記錄劃分成數(shù)據(jù)分片支持范圍查詢即給定記錄主鍵的范圍而一次讀取多條記錄,范圍分片既支持點(diǎn)查詢,也支持范圍查詢路由直接查找法-如果哈希值落在自身管轄的范圍內(nèi),則在此節(jié)點(diǎn)上查詢,否則繼續(xù)往后找,一直找到節(jié)點(diǎn)Nx,x是大于等于待查節(jié)點(diǎn)值的最小編號(hào)路由表法-直接查找法缺乏效率,為了加快查找速度,可以在每個(gè)機(jī)器節(jié)點(diǎn)配置路由表,路由表存儲(chǔ)每個(gè)節(jié)點(diǎn)到每個(gè)除自身節(jié)點(diǎn)的距離一致性哈希路由算法數(shù)據(jù)復(fù)制與一致性將同一份數(shù)據(jù)放置到多個(gè)節(jié)點(diǎn)(主從master-slave方式、對(duì)等式per-to-per)的過(guò)程稱(chēng)為復(fù)制主從復(fù)制
-master-slave模式,其中有一個(gè)master節(jié)點(diǎn),存放重要數(shù)據(jù),通常負(fù)責(zé)數(shù)據(jù)的更新,其余節(jié)點(diǎn)都叫slave節(jié)點(diǎn),復(fù)制操作就是讓slave節(jié)點(diǎn)的數(shù)據(jù)與master節(jié)點(diǎn)的數(shù)據(jù)同步對(duì)等復(fù)制-對(duì)等復(fù)制是指兩個(gè)節(jié)點(diǎn)相互為各自的副本,沒(méi)有主從的概念數(shù)據(jù)一致性-強(qiáng)一致、弱一致性、最終一致性等重要數(shù)據(jù)結(jié)構(gòu)和算法分布式存儲(chǔ)系統(tǒng)中存儲(chǔ)大量的數(shù)據(jù),同時(shí)需要支持大量的上層讀/寫(xiě)操作,為了實(shí)現(xiàn)高吞吐量,設(shè)計(jì)和實(shí)現(xiàn)一個(gè)良好的數(shù)據(jù)結(jié)構(gòu)能起到相當(dāng)大的作用NoSQL
–
LSM
TreeMemC3
–
Cuckoo
HashHBase
–
BloomFilterBloomFilterBloomFilter用于在海量數(shù)據(jù)中快速查找給定的數(shù)據(jù)是否在某個(gè)集合內(nèi)通過(guò)k個(gè)散列函數(shù)將這個(gè)元素映射成一個(gè)位數(shù)組中的k個(gè)點(diǎn),把它們置為1檢索時(shí),用戶只要看看這些點(diǎn)是不是都是1就(大約)知道集合中有沒(méi)有它了:如果這些點(diǎn)有任何一個(gè)0,則被檢元素一定不在;如果都是1,則被檢元素很可能在BloomFilter初始位數(shù)組BloomFilter哈希函數(shù)BloomFilter查找LSMTreeLSM樹(shù)和B+樹(shù)相比,LSM樹(shù)犧牲了部分讀性能,用來(lái)大幅度提高寫(xiě)性能把一棵大樹(shù)拆分成n棵小樹(shù),它首先寫(xiě)入內(nèi)存中,隨著小樹(shù)越來(lái)越大,內(nèi)存中的小樹(shù)會(huì)flush到磁盤(pán)中,磁盤(pán)中的樹(shù)定期可以做merge操作插入操作首先會(huì)作用于內(nèi)存,由于內(nèi)存中的樹(shù)不會(huì)很大,因此速度快合并操作會(huì)順序?qū)懭胍粋€(gè)或多個(gè)磁盤(pán)頁(yè),比隨機(jī)寫(xiě)入快得多Merkle
Tree數(shù)據(jù)分成小的數(shù)據(jù)塊,有相應(yīng)的哈希和它對(duì)應(yīng)往上走,把相鄰的兩個(gè)哈希合并成一個(gè)字符串,然后運(yùn)算這個(gè)字符串的哈希,這樣每?jī)蓚€(gè)哈希組合得到了一個(gè)“子哈?!盡erkle
Tree明顯的一個(gè)好處是可以單獨(dú)拿出一個(gè)分支來(lái)對(duì)部分?jǐn)?shù)據(jù)進(jìn)行校驗(yàn)CuckooHashCuckoo哈希是一種解決hash沖突的方法,其目的是使用簡(jiǎn)易的hash函數(shù)來(lái)提高HashTable的利用率使用兩個(gè)hash函數(shù)來(lái)處理碰撞,從而每個(gè)key都對(duì)應(yīng)到兩個(gè)位置對(duì)key值哈希,生成兩個(gè)hashkey值,hashk1和hashk2,如果對(duì)應(yīng)的兩個(gè)位置上有一個(gè)為空,直接把key插入即可否則,任選一個(gè)位置,把key值插入,把已經(jīng)在那個(gè)位置的key值踢出
文件存儲(chǔ)格式行式存儲(chǔ)被主流關(guān)系型數(shù)據(jù)庫(kù)廣泛采用,HDFS文件系統(tǒng)也采用行式存儲(chǔ)在行式存儲(chǔ)中,每條記錄的各個(gè)字段連續(xù)地存儲(chǔ)在一起,而對(duì)于文件中的各個(gè)記錄也是連續(xù)存儲(chǔ)在數(shù)據(jù)塊中行式存儲(chǔ)對(duì)于大數(shù)據(jù)系統(tǒng)的需求已經(jīng)不能很好地滿足快速訪問(wèn)海量數(shù)據(jù)的能力被束縛擴(kuò)展性差文件存儲(chǔ)格式列式存儲(chǔ)-與行式存儲(chǔ)布局對(duì)應(yīng),列式存儲(chǔ)布局實(shí)際存儲(chǔ)數(shù)據(jù)時(shí)按照列隊(duì)所有記錄進(jìn)行垂直劃分,將同一列的內(nèi)容連續(xù)存放在一起將經(jīng)常聯(lián)合使用的列存儲(chǔ)在一個(gè)數(shù)據(jù)塊中,避免通過(guò)不必要的網(wǎng)絡(luò)傳輸來(lái)獲取多列數(shù)據(jù)對(duì)于某些場(chǎng)景而言會(huì)較大地提升系統(tǒng)性能文件存儲(chǔ)格式混合式存儲(chǔ)-融合了行式和列式存儲(chǔ)布局的優(yōu)點(diǎn)首先將記錄表按照行進(jìn)行分組,若干行劃分為一組對(duì)于每組內(nèi)的所有記錄,在實(shí)際存儲(chǔ)時(shí)按照列將同一列內(nèi)容連續(xù)存儲(chǔ)在一起GFSGFS(Google文件系統(tǒng))是Google為了存儲(chǔ)百億計(jì)的海量網(wǎng)頁(yè)信息而專(zhuān)門(mén)開(kāi)發(fā)的文件系統(tǒng)數(shù)據(jù)冗余備份、故障自動(dòng)檢測(cè)、故障機(jī)器自動(dòng)恢復(fù)等都列在GFS的設(shè)計(jì)目標(biāo)里GFS中存儲(chǔ)的文件絕大多數(shù)是大文件系統(tǒng)中存在大量的“追加”寫(xiě)操作,即在已有文件的末尾追加內(nèi)容,已經(jīng)寫(xiě)入的內(nèi)容不做更改對(duì)于數(shù)據(jù)讀取操作來(lái)說(shuō),絕大多數(shù)操作都是“順序”讀,少量的操作是“隨機(jī)”讀
HDFSHadoop分布式文件系統(tǒng)(HDFS)被設(shè)計(jì)成適合運(yùn)行在通用硬件(commodityhardware)上的分布式文件系統(tǒng)HDFS采用master/slave架構(gòu)。一個(gè)HDFS集群由一個(gè)namenode和一定數(shù)目的datanode組成阿里云盤(pán)古盤(pán)古系統(tǒng)是一個(gè)分布式文件系統(tǒng),它是在整個(gè)阿里云計(jì)算“飛天”系統(tǒng)中負(fù)責(zé)數(shù)據(jù)存儲(chǔ)的基石性系統(tǒng)在整體架構(gòu)上盤(pán)古采用Master/ChunkServer結(jié)構(gòu),Master管理元數(shù)據(jù),多Master之間采用Primary-Secondaries模式,基于Paxos協(xié)議來(lái)保障服務(wù)的高可用右圖是盤(pán)古分布式文件系統(tǒng)架構(gòu)NoSQL數(shù)據(jù)庫(kù)概述一個(gè)NoSQL數(shù)據(jù)庫(kù)提供了一種存儲(chǔ)和檢索數(shù)據(jù)的方法,該方法不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)那種表格形式促進(jìn)NoSQL發(fā)展的因素如下簡(jiǎn)單設(shè)計(jì)原則,可以更簡(jiǎn)單地水平擴(kuò)展到多機(jī)器集群
更細(xì)粒度地控制有效性
KV數(shù)據(jù)庫(kù)KV數(shù)據(jù)庫(kù)是最常見(jiàn)的NoSQL數(shù)據(jù)庫(kù)形式優(yōu)勢(shì)是處理速度非??欤秉c(diǎn)是只能通過(guò)鍵的完全一致查詢來(lái)獲取數(shù)據(jù)Redis是著名的內(nèi)存KV數(shù)據(jù)庫(kù),在工業(yè)界得到了廣泛的使用Redis采用異步的主從復(fù)制方式右圖是Redis的副本維護(hù)策略列式數(shù)據(jù)庫(kù)列式數(shù)據(jù)庫(kù)基于列式存儲(chǔ)的文件存儲(chǔ)格局,兼具NoSQL和傳統(tǒng)數(shù)據(jù)庫(kù)的一些優(yōu)點(diǎn)BigTable的數(shù)據(jù)模型本質(zhì)上是一個(gè)三維映射表,其最基礎(chǔ)的存儲(chǔ)單元由行主鍵、列主鍵、時(shí)間構(gòu)成的三維主鍵唯一確定HBase是一個(gè)開(kāi)源的非關(guān)系型分布式數(shù)據(jù)庫(kù),它參考了Google的BigTable模型HBase以表的形式存放數(shù)據(jù)。表由行和列組成,每個(gè)列屬于某個(gè)列簇,由行和列確定的存儲(chǔ)單元稱(chēng)為元素
圖數(shù)據(jù)庫(kù)在圖的領(lǐng)域并沒(méi)有一套被廣泛接受的術(shù)語(yǔ),存在著很多不同類(lèi)型的圖模型屬性圖形模型(PropertyGraphModel)
節(jié)點(diǎn)(即頂點(diǎn))
關(guān)系(即邊),具有方向和類(lèi)型(標(biāo)記和標(biāo)向)
節(jié)點(diǎn)和關(guān)系上面的屬性(即特性)右圖是一個(gè)被標(biāo)記的小型屬性圖文檔數(shù)據(jù)庫(kù)文檔數(shù)據(jù)庫(kù)中的文檔是一個(gè)數(shù)據(jù)記錄,這個(gè)記錄能夠?qū)Π臄?shù)據(jù)類(lèi)型和內(nèi)容進(jìn)行“自我描述”,如XML文檔、HTML文檔和JSON文檔文檔數(shù)據(jù)庫(kù)中的模型采用的是模型視圖控制器(MVC)中的模型層,每個(gè)JSON文檔的ID就是它唯一的鍵阿里云數(shù)據(jù)庫(kù)阿里云數(shù)據(jù)庫(kù)是一種穩(wěn)定可靠、可彈性伸縮的在線數(shù)據(jù)庫(kù)服務(wù),提供NoSQL數(shù)據(jù)庫(kù)和關(guān)系型數(shù)據(jù)庫(kù)兩種數(shù)據(jù)庫(kù)服務(wù)云數(shù)據(jù)庫(kù)Redis-阿里云數(shù)據(jù)庫(kù)Redis版(ApsaraDBforRedis)是兼容開(kāi)源Redis協(xié)議的Key-Value類(lèi)型在線存儲(chǔ)服務(wù)ECS網(wǎng)頁(yè)控制臺(tái)連接Redis實(shí)例桌面終端連接ECS服務(wù)器阿里云數(shù)據(jù)庫(kù)云數(shù)據(jù)庫(kù)RDS(ApsaraDBforRDS,RDS)-是一種穩(wěn)定可靠、可彈性伸縮的在線數(shù)據(jù)庫(kù)服務(wù)基于飛天分布式系統(tǒng)和全SSD盤(pán)高性能存儲(chǔ),支持MySQL、SQLServer、PostgreSQL和PPAS(高度兼容Oracle)引擎設(shè)置白名單MySQL系統(tǒng)吞吐量阿里云數(shù)據(jù)庫(kù)云數(shù)據(jù)庫(kù)Memcache版(ApsaraDBforMemcache)-基于內(nèi)存的緩存服務(wù),支持海量小數(shù)據(jù)的高速訪問(wèn)云數(shù)據(jù)庫(kù)Memcache支持Key-Value的數(shù)據(jù)結(jié)構(gòu),兼容Memcached協(xié)議的客戶端都可與阿里云數(shù)據(jù)庫(kù)Memcache版進(jìn)行通信設(shè)置無(wú)密碼訪問(wèn)Memcached命中率監(jiān)控第9章分布式處理CPU多核和POSIX
Thread在硬件設(shè)備上,CPU技術(shù)不斷發(fā)展,出現(xiàn)了SMP(對(duì)稱(chēng)多處理器)和NUMA(非一致性內(nèi)存訪問(wèn))兩種高速處理的CPU結(jié)構(gòu)在軟件層面出現(xiàn)了多進(jìn)程和多線程編程。進(jìn)程是內(nèi)存資源管理單元,線程是任務(wù)調(diào)度單元POSIXThread多線程編程標(biāo)準(zhǔn)SMP和NUMA架構(gòu)CPU進(jìn)程與線程MPI并行計(jì)算框架MPI(MessagePassingInterface)是一個(gè)標(biāo)準(zhǔn)且可移植的消息傳遞系統(tǒng),服務(wù)于大規(guī)模的并行計(jì)算廣泛采用的實(shí)現(xiàn)有MPICHMPICH包括ADI3、CH3Device、CH3Interface、Nemesis、NemesisNetModInterfaceMPICH架構(gòu)HadoopMapReduceHadoop是一個(gè)由Apache基金會(huì)開(kāi)發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)Hadoop框架最核心的設(shè)計(jì)就是HDFS和MapReduceMapReduce為海量的數(shù)據(jù)提供了計(jì)算指定一個(gè)Map函數(shù),用來(lái)把一組鍵值對(duì)映射成一組新的鍵值對(duì),指定并發(fā)的Reduce函數(shù),用來(lái)保證所有映射的鍵值對(duì)中的每一個(gè)共享相同的鍵組SparkSpark是UCBerkeleyAMPLab所開(kāi)源的類(lèi)HadoopMapReduce的通用的并行計(jì)算框架Spark基于map-reduce算法實(shí)現(xiàn)的分布式計(jì)算,擁有HadoopMapReduce所具有的優(yōu)點(diǎn)不同于MapReduce的是中間輸出和結(jié)果可以保存在內(nèi)存中Spark最主要的結(jié)構(gòu)是RDD(ResilientDistributedDatasets),它表示已被分區(qū)、不可變的并能夠被并行操作的數(shù)據(jù)集合,不同的數(shù)據(jù)集格式對(duì)應(yīng)不同的RDD實(shí)現(xiàn)數(shù)據(jù)處理技術(shù)的發(fā)展數(shù)據(jù)處理從早期的共享分時(shí)單CPU操作系統(tǒng)處理到多核并發(fā)處理早期Google公司的分布式計(jì)算框架MapReduce采用的思想就是連接多臺(tái)廉價(jià)的計(jì)算設(shè)備,以此來(lái)提供進(jìn)行大規(guī)模計(jì)算任務(wù)的能力為了滿足實(shí)時(shí)計(jì)算任務(wù)需求,設(shè)計(jì)實(shí)現(xiàn)了流計(jì)算框架,比如SparkStreaming、Storm、Flink等實(shí)時(shí)計(jì)算框架目前處理技術(shù)在往大規(guī)模、低延遲方向發(fā)展第10章Hadoop
MapReduce解析HadoopMapReduce架構(gòu)MapReduce是一種分布式計(jì)算框架,能夠處理大量數(shù)據(jù),并提供容錯(cuò)、可靠等功能,運(yùn)行部署在大規(guī)模計(jì)算集群中MapReduce計(jì)算框架采用主從架構(gòu),由Client、JobTracker、TaskTracker組成用戶編寫(xiě)MapReduce程序,通過(guò)Client提交到JobTrackerJobTracker負(fù)責(zé)管理運(yùn)行的TaskTracker節(jié)點(diǎn);負(fù)責(zé)Job的調(diào)度與分發(fā)JobTracker發(fā)送具體的任務(wù)給TaskTracker節(jié)點(diǎn)執(zhí)行MapReduce架構(gòu)HadoopMapReduce架構(gòu)在MapReduce框架中,所有的程序執(zhí)行最后都轉(zhuǎn)換成task來(lái)執(zhí)行顯示了HDFS作為MapReduce任務(wù)的數(shù)據(jù)輸入源,每個(gè)HDFS文件切分成多個(gè),Block將其作為MapReduce任務(wù)的數(shù)據(jù)輸入源,執(zhí)行計(jì)算任務(wù)HadoopMapReduce與高效能計(jì)算、網(wǎng)格計(jì)算的區(qū)別高性能計(jì)算的思想是將計(jì)算作業(yè)分散到集群機(jī)器上,集群計(jì)算節(jié)點(diǎn)訪問(wèn)存儲(chǔ)區(qū)域網(wǎng)絡(luò)SAN系統(tǒng)構(gòu)成的共享文件系統(tǒng)獲取數(shù)據(jù),這種設(shè)計(jì)比較適合計(jì)算密集型作業(yè)由于Hadoop使用專(zhuān)門(mén)為分布式計(jì)算設(shè)計(jì)的文件系統(tǒng)HDFS,在計(jì)算的時(shí)候只需要將計(jì)算代碼推送到存儲(chǔ)節(jié)點(diǎn)上即可在存儲(chǔ)節(jié)點(diǎn)上完成數(shù)據(jù)的本地化計(jì)算,Hadoop中的集群存儲(chǔ)節(jié)點(diǎn)也是計(jì)算節(jié)點(diǎn)在分布式編程方面,MPI屬于比較底層的開(kāi)發(fā)庫(kù),它賦予了程序員極大的控制能力;Hadoop的MapReduce卻是一個(gè)高度抽象的并行編程模型,它將分布式并行編程抽象為兩個(gè)原語(yǔ)操作,即Map操作和Reduce操作MapReduce工作機(jī)制整體而言,一個(gè)MapReduce程序一般分成Map和Reduce兩個(gè)階段,中間可能會(huì)有CombineMapReduce工作機(jī)制Map-
MapReduce會(huì)根據(jù)輸入文件計(jì)算輸入分片(inputsplit),每個(gè)輸入分片針對(duì)一個(gè)Map任務(wù),輸入分片存儲(chǔ)的并非數(shù)據(jù)本身,而是一個(gè)分片長(zhǎng)度和一個(gè)記錄數(shù)據(jù)位置的數(shù)組Map函數(shù)產(chǎn)生輸出結(jié)果時(shí)并不是直接寫(xiě)入到磁盤(pán),而是采用緩沖方式寫(xiě)入到內(nèi)存中,并對(duì)數(shù)據(jù)按關(guān)鍵字進(jìn)行預(yù)排序MapReduce工作機(jī)制執(zhí)行用戶指定的Reduce函數(shù),輸出計(jì)算結(jié)果到HDFS集群上。Reduce執(zhí)行數(shù)據(jù)的歸并,數(shù)據(jù)是以key,list(value1,value2...)的方式存儲(chǔ)MapReduce工作機(jī)制Comine-Combine是在本地進(jìn)行的一個(gè)在Map端做的Reduce的過(guò)程,其目的是提高Hadoop的效率MapReduce工作機(jī)制Shuffle描述數(shù)據(jù)從Map
Task輸出到Reduce
Task輸入的這段過(guò)程Reducer真正運(yùn)行之前,所有的時(shí)間都是在拉取數(shù)據(jù),做merge,且不斷重復(fù)地做copy過(guò)程
-
其用于簡(jiǎn)單地拉取數(shù)據(jù)。Reduce進(jìn)程啟動(dòng)一些數(shù)據(jù)copy線程(Fetcher),通過(guò)HTTP請(qǐng)求文件數(shù)據(jù)merge階段
-這里的merge如Map端的merge動(dòng)作
Reducer的輸入文件-不斷地merge,最后會(huì)生成一個(gè)“最終文件”數(shù)據(jù)從Map端copy到Reduce端SpeculativeTask存在這樣的計(jì)算任務(wù),它的運(yùn)行時(shí)間遠(yuǎn)遠(yuǎn)長(zhǎng)于其他任務(wù)的計(jì)算任務(wù),減少該任務(wù)的運(yùn)行時(shí)間就可以提高整體作業(yè)的運(yùn)行速度,這種任務(wù)也稱(chēng)為“拖后腿”任務(wù)導(dǎo)致任務(wù)執(zhí)行緩慢的原因有很多種,包括軟件和硬件原因?yàn)榱私鉀Q上述“拖后腿”任務(wù)導(dǎo)致的系統(tǒng)性能下降問(wèn)題,Hadoop為該task啟動(dòng)SpeculativeTask,與原始的task同時(shí)運(yùn)行,以最快運(yùn)行結(jié)束的結(jié)果返回
是一種以空間換時(shí)間的方式
任務(wù)容錯(cuò)MapReduce是一種通用的計(jì)算框架,有著非常健壯的容錯(cuò)機(jī)制,容錯(cuò)粒度包括JobTracker、TaskTracker、Job、Task、Record等級(jí)別對(duì)于任務(wù)的容錯(cuò)機(jī)制,MapReduce采用最簡(jiǎn)單的方法進(jìn)行處理如果是一個(gè)Map任務(wù)或Reduce任務(wù)失敗了,那么調(diào)度器會(huì)將這個(gè)失敗的任務(wù)分配到其他節(jié)點(diǎn)重新執(zhí)行如果是一個(gè)節(jié)點(diǎn)死機(jī)了,那么在這臺(tái)死機(jī)的節(jié)點(diǎn)上已經(jīng)完成運(yùn)行的Map任務(wù)及正在運(yùn)行中的Map和Reduce任務(wù)都將被調(diào)度重新執(zhí)行,同時(shí)在其他機(jī)器上正在運(yùn)行的Reduce任務(wù)也將被重新執(zhí)行應(yīng)用案例WordCount用于計(jì)算文件中每個(gè)單詞出現(xiàn)的次數(shù),非常適合采用MapReduce進(jìn)行處理在Map階段處理每個(gè)文本split中的數(shù)據(jù),產(chǎn)生<word,1>這樣的鍵-值對(duì)在Reduce階段對(duì)相同的關(guān)鍵字求和,最后生成所有的單詞計(jì)數(shù)WordCount運(yùn)行過(guò)程應(yīng)用案例現(xiàn)在HDFS集群中有大量的文件,需要統(tǒng)計(jì)所有文件所出現(xiàn)單詞的平均長(zhǎng)度其處理也可以采用MapReduce方式,計(jì)算結(jié)果最后以HDFS文件的方式保存應(yīng)用案例Grep-還是進(jìn)行大規(guī)模文本中單詞的相關(guān)操作,現(xiàn)在希望提供類(lèi)似Linux系統(tǒng)中Grep命令的功能,找出匹配目標(biāo)串的所有文件,并統(tǒng)計(jì)出每個(gè)文件中出現(xiàn)目標(biāo)字符串的個(gè)數(shù)在Map階段根據(jù)提供的文件split信息、給定的每個(gè)字符串輸出<filename,1>這樣的鍵-值對(duì)信息在Reduce階段根據(jù)filename對(duì)Map階段產(chǎn)生的結(jié)果進(jìn)行合并
Grep的運(yùn)行結(jié)果MapReduce的缺陷與不足MapReduce是一種離線處理框架,比較適合大規(guī)模的離線數(shù)據(jù)處理MapReduce在實(shí)時(shí)處理性能方面比較薄弱,不適合處理事務(wù)或者單一處理請(qǐng)求第11章Spark解析Spark
RDD每個(gè)Spark應(yīng)用都是由一個(gè)driverprogram構(gòu)成,該程序運(yùn)行用戶的main函數(shù)Spark提供的一個(gè)主要抽象就是RDD(ResilientDistributedDatasets),這是一個(gè)分布在集群中多節(jié)點(diǎn)上的數(shù)據(jù)集合,利用內(nèi)存和磁盤(pán)作為存儲(chǔ)介質(zhì)RDD的設(shè)計(jì)目標(biāo)是針對(duì)迭代式機(jī)器學(xué)習(xí),每個(gè)RDD是只讀的、不可更改的創(chuàng)建RDD有兩種方式創(chuàng)建一個(gè)RDD在driver
program中并行化一個(gè)當(dāng)前的數(shù)據(jù)集合利用一個(gè)外部存儲(chǔ)系統(tǒng)中的數(shù)據(jù)集合創(chuàng)建Spark與MapReduce的對(duì)比Spark作為新一代的大數(shù)據(jù)計(jì)算框架,針對(duì)的是迭代式計(jì)算、實(shí)時(shí)數(shù)據(jù)處理,要求處理的時(shí)間更少
在中間計(jì)算結(jié)果方面-Spark基本把數(shù)據(jù)存放在內(nèi)存中,只有在內(nèi)存資源不夠的時(shí)候才寫(xiě)到磁盤(pán)等存儲(chǔ)介質(zhì)中;而MapReduce計(jì)算過(guò)程中Map任務(wù)產(chǎn)生的計(jì)算結(jié)果存放到本地磁盤(pán)中
在計(jì)算模型方面-Spark采用DAG圖描述計(jì)算任務(wù),Spark擁有更豐富的功能;MapReduce則只采用Map和Reduce兩個(gè)函數(shù),計(jì)算功能比較簡(jiǎn)單
在計(jì)算速度方面-
Spark的計(jì)算速度更快Spark與MapReduce的對(duì)比在容錯(cuò)方面-Spark采用了和MapReduce類(lèi)似的方式,針對(duì)丟失和無(wú)法引用的RDD,Spark采用利用記錄的transform,采取重新做已做過(guò)的transform
在計(jì)算成本方面-
Spark是把RDD主要存放在內(nèi)存存儲(chǔ)介質(zhì)中,則需要提供高容量的內(nèi)存;而MapReduce是面向磁盤(pán)的分布式計(jì)算框架,因此在成本考慮方面,Spark的計(jì)算成本高于MapReduce計(jì)算框架
在簡(jiǎn)單易管理方面-
目前Spark也在同一個(gè)集群上運(yùn)行流處理、批處理和機(jī)器學(xué)習(xí),同時(shí)Spark也可以管理不同類(lèi)型的負(fù)載。這些都是MapReduce做不到的
Spark工作機(jī)制開(kāi)始深入探討
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年方向節(jié)項(xiàng)目投資可行性研究分析報(bào)告
- 某企業(yè)節(jié)能評(píng)估報(bào)告
- 知識(shí)產(chǎn)權(quán)糾紛解決的心理分析
- 電商企業(yè)如何構(gòu)建高效的末端配送體系
- 知識(shí)經(jīng)濟(jì)時(shí)代的創(chuàng)新發(fā)展與教育模式探討
- 中國(guó)煉焦行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及前景趨勢(shì)與投資分析研究報(bào)告(2024-2030版)
- 知識(shí)產(chǎn)權(quán)在數(shù)字經(jīng)濟(jì)中的機(jī)遇與挑戰(zhàn)
- 婦產(chǎn)科護(hù)理技術(shù)模擬題(附參考答案)
- 三江學(xué)院《攝影測(cè)量與遙感》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧農(nóng)業(yè)職業(yè)技術(shù)學(xué)院《媒介倫理與法規(guī)》2023-2024學(xué)年第二學(xué)期期末試卷
- Q∕GDW 10364-2020 單相智能電能表技術(shù)規(guī)范
- 電廠鋼結(jié)構(gòu)施工方案(53頁(yè))
- 房地產(chǎn)現(xiàn)金流量表
- 水體國(guó)產(chǎn)載體固化微生物
- 2022年露天煤礦安全資格證考試題庫(kù)-上(單選、多選題庫(kù))
- MIL-STD-1916 抽樣技術(shù) (C=0 零不良)
- 膠合板公司人員招聘與配置(模板)
- 團(tuán)建方案版攻防箭對(duì)戰(zhàn)
- 樁身強(qiáng)度自動(dòng)驗(yàn)算表格Excel
- 燃?xì)廨啓C(jī)LM2500介紹
- (精選)淺談在小學(xué)數(shù)學(xué)教學(xué)中如何進(jìn)行有效提問(wèn)
評(píng)論
0/150
提交評(píng)論