云計(jì)算與大數(shù)據(jù)的相關(guān)技術(shù)(微軟雅黑)_第1頁
云計(jì)算與大數(shù)據(jù)的相關(guān)技術(shù)(微軟雅黑)_第2頁
云計(jì)算與大數(shù)據(jù)的相關(guān)技術(shù)(微軟雅黑)_第3頁
云計(jì)算與大數(shù)據(jù)的相關(guān)技術(shù)(微軟雅黑)_第4頁
云計(jì)算與大數(shù)據(jù)的相關(guān)技術(shù)(微軟雅黑)_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

云計(jì)算與大數(shù)據(jù)技術(shù)

人民郵電出版社王鵬黃焱安俊秀張逸琴編著

目錄CONTENTS第1章云計(jì)算與大數(shù)據(jù)根底第2章云計(jì)算與大數(shù)據(jù)的相關(guān)技術(shù)第3章虛擬化技術(shù)第4章集群系統(tǒng)根底第5章MPI—面向計(jì)算第6章Hadoop—分布式大數(shù)據(jù)系統(tǒng)第7章HPCC—面向數(shù)據(jù)的高性能計(jì)算集群系統(tǒng)第8章Storm—基于拓?fù)涞牧鲾?shù)據(jù)實(shí)時(shí)計(jì)算系統(tǒng)第9章效勞器與數(shù)據(jù)中心第10章云計(jì)算大數(shù)據(jù)仿真技術(shù)第2章云計(jì)算與大數(shù)據(jù)的相關(guān)技術(shù)

《云計(jì)算與大數(shù)據(jù)技術(shù)》

第2章云計(jì)算與大數(shù)據(jù)的相關(guān)技術(shù)

2.1云計(jì)算與大數(shù)據(jù) 2.2云計(jì)算與物聯(lián)網(wǎng) 2.3一致性哈希算法一致性哈希算法的根本原理2.3.2一致性哈希算法中計(jì)算和存儲(chǔ)位置的一致性2.4非關(guān)系型數(shù)據(jù)庫從關(guān)系型數(shù)據(jù)庫到非關(guān)系型數(shù)據(jù)庫非關(guān)系型數(shù)據(jù)庫的定義非關(guān)系型數(shù)據(jù)庫的分類2.5集群高速通信標(biāo)準(zhǔn)InfiniBand2.6云計(jì)算大數(shù)據(jù)集群的自組織特性2.1云計(jì)算與大數(shù)據(jù)2.1云計(jì)算與大數(shù)據(jù)云計(jì)算與大數(shù)據(jù)相比云計(jì)算更像是對(duì)一種新的技術(shù)模式的描述而不是對(duì)某一項(xiàng)技術(shù)的描述,而大數(shù)據(jù)那么較為確切地與一些具體的技術(shù)相關(guān)聯(lián)。目前新出現(xiàn)的一些技術(shù)如Hadoop、HPCC、Storm都較為確切地與大數(shù)據(jù)相關(guān),同時(shí)并行計(jì)算技術(shù)、分布式存儲(chǔ)技術(shù)、數(shù)據(jù)挖掘技術(shù)這些傳統(tǒng)的計(jì)算機(jī)學(xué)科在大數(shù)據(jù)條件下又再次萌發(fā)出生機(jī),并在大數(shù)據(jù)時(shí)代找到了新的研究內(nèi)容。大數(shù)據(jù)其實(shí)是對(duì)面向數(shù)據(jù)計(jì)算技術(shù)中對(duì)數(shù)據(jù)量的一個(gè)形象描述,通常也可以被稱為海量數(shù)據(jù)。云計(jì)算整合的資源主要是計(jì)算和存儲(chǔ)資源,云計(jì)算技術(shù)的開展也清晰地呈現(xiàn)出兩大主題—計(jì)算和數(shù)據(jù)。伴隨這兩大主題,出現(xiàn)了云計(jì)算和大數(shù)據(jù)這兩個(gè)熱門概念,任何概念的出現(xiàn)都不是偶然的,取決于當(dāng)時(shí)的技術(shù)開展?fàn)顩r。李國杰院士認(rèn)為:“信息系統(tǒng)需要從數(shù)據(jù)圍繞著處理器轉(zhuǎn)改為處理能力圍繞著數(shù)據(jù)轉(zhuǎn),將計(jì)算用于數(shù)據(jù),而不是將數(shù)據(jù)用于計(jì)算〞。2.1云計(jì)算與大數(shù)據(jù)海量的數(shù)據(jù)本身很難直接使用,只有通過處理的數(shù)據(jù)才能真正地成為有用的數(shù)據(jù),因此云計(jì)算時(shí)代計(jì)算和數(shù)據(jù)兩大主題可以進(jìn)一步明確為數(shù)據(jù)和針對(duì)數(shù)據(jù)的計(jì)算,計(jì)算可以使海量的數(shù)據(jù)成為有用的信息,進(jìn)而處理成為知識(shí)。目前提到云計(jì)算時(shí),有時(shí)將云存儲(chǔ)作為單獨(dú)的一項(xiàng)技術(shù)來對(duì)待,只是把網(wǎng)絡(luò)化的存儲(chǔ)籠統(tǒng)地稱為云存儲(chǔ),事實(shí)上在面向數(shù)據(jù)的時(shí)代不管是出現(xiàn)了云計(jì)算的概念還是大數(shù)據(jù)的概念,存儲(chǔ)都不是一個(gè)獨(dú)立存在的系統(tǒng)。特別是在集群條件下,計(jì)算和存儲(chǔ)都是分布式的,如何讓計(jì)算“找〞到自己需要處理的數(shù)據(jù)是云計(jì)算系統(tǒng)需要具有的核心功能。2.1云計(jì)算與大數(shù)據(jù)面向數(shù)據(jù)要求計(jì)算是面向數(shù)據(jù)的,那么數(shù)據(jù)的存儲(chǔ)方式將會(huì)深刻地影響計(jì)算實(shí)現(xiàn)的方式。在分布式系統(tǒng)中實(shí)現(xiàn)計(jì)算和數(shù)據(jù)有效融合從而提高數(shù)據(jù)處理能力,簡化分布式程序設(shè)計(jì)難度,降低系統(tǒng)網(wǎng)絡(luò)通信壓力從而使系統(tǒng)能有效地面對(duì)大數(shù)據(jù)處理的機(jī)制稱為計(jì)算和數(shù)據(jù)的協(xié)作機(jī)制。在這種協(xié)作機(jī)制中計(jì)算如何找到數(shù)據(jù)并啟動(dòng)分布式處理任務(wù)的問題是需要重點(diǎn)研究的課題,這一問題被稱為計(jì)算和數(shù)據(jù)的位置一致性問題。2.1云計(jì)算與大數(shù)據(jù)面向數(shù)據(jù)也可以更準(zhǔn)確地稱為“面向數(shù)據(jù)的計(jì)算〞,面向數(shù)據(jù)要求系統(tǒng)的設(shè)計(jì)和架構(gòu)是圍繞數(shù)據(jù)為核心展開的,面向數(shù)據(jù)也是云計(jì)算系統(tǒng)的一個(gè)根本特征,而計(jì)算與數(shù)據(jù)的有效協(xié)作是面向數(shù)據(jù)的核心要求?;貞浻?jì)算機(jī)技術(shù)的開展歷程,可以清晰地看到計(jì)算機(jī)技術(shù)從面向計(jì)算逐步轉(zhuǎn)變到面向數(shù)據(jù)的過程。從面向計(jì)算到面向數(shù)據(jù)是技術(shù)開展的必然趨勢,并不能把云計(jì)算的出現(xiàn)歸功于任何的個(gè)人和企業(yè)。這一過程的描述如圖2.1所示,該圖從硬件、網(wǎng)絡(luò)和云計(jì)算的演進(jìn)過程等方面以時(shí)間為順序進(jìn)行了縱向和橫向的比照。2.1云計(jì)算與大數(shù)據(jù)在計(jì)算機(jī)技術(shù)的早期由于硬件設(shè)備體積龐大,價(jià)格昂貴,這一階段數(shù)據(jù)的產(chǎn)生還是“個(gè)別〞人的工作。這個(gè)時(shí)期的數(shù)據(jù)生產(chǎn)者主要是科學(xué)家或軍事部門,他們更關(guān)注計(jì)算機(jī)的計(jì)算能力,計(jì)算能力的上下決定了研究能力和一個(gè)國家軍事能力的上下。圖2.1計(jì)算機(jī)技術(shù)向云計(jì)算的演進(jìn)1969年ARPANET的出現(xiàn)改變了整個(gè)計(jì)算機(jī)技術(shù)的開展歷史,網(wǎng)絡(luò)逐步成為推動(dòng)技術(shù)開展的一個(gè)重要力量,1989年TimBerners-Lee創(chuàng)造的萬維網(wǎng)改變了信息的交流方式,特別是高速移動(dòng)通信網(wǎng)絡(luò)技術(shù)的開展和成熟使現(xiàn)在數(shù)據(jù)的生產(chǎn)成為全球人的共同活動(dòng),人們生產(chǎn)數(shù)據(jù)不再是在固定時(shí)間和固定地點(diǎn)進(jìn)行,而是隨時(shí)隨地都在產(chǎn)生數(shù)據(jù)。微博、博客、社交網(wǎng)、視頻共享網(wǎng)站、即時(shí)通信等媒介隨時(shí)都在生產(chǎn)著數(shù)據(jù)并被融入全球網(wǎng)絡(luò)中。相對(duì)而言由于這時(shí)數(shù)據(jù)量很小,數(shù)據(jù)在整個(gè)計(jì)算系統(tǒng)中的重要性并不突出。這時(shí)網(wǎng)絡(luò)還沒有出現(xiàn),推動(dòng)計(jì)算技術(shù)開展的主要?jiǎng)恿κ怯布拈_展,這個(gè)時(shí)期是硬件的高速變革時(shí)期,硬件從電子管迅速開展到大規(guī)模集成電路。從云計(jì)算之父JohnMcCarthy提出云計(jì)算的概念到大數(shù)據(jù)之父Gray等人提出科學(xué)研究的第四范式,時(shí)間已經(jīng)跨越了半個(gè)世紀(jì)。以硬件為核心的時(shí)代也是面向計(jì)算的時(shí)代,那時(shí)數(shù)據(jù)的構(gòu)成非常簡單,數(shù)據(jù)之間根本沒有關(guān)聯(lián)性,物理學(xué)家只處理物理實(shí)驗(yàn)數(shù)據(jù),生物學(xué)家只處理生物學(xué)數(shù)據(jù),計(jì)算和數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系是非常簡單和直接,這個(gè)時(shí)期研究計(jì)算和存儲(chǔ)的協(xié)作機(jī)制并沒有太大的實(shí)用價(jià)值。到了以網(wǎng)絡(luò)為核心的時(shí)代數(shù)據(jù)的構(gòu)成變得非常復(fù)雜,數(shù)據(jù)來源多樣化,不同數(shù)據(jù)之間存在大量的隱含關(guān)聯(lián)性,這時(shí)計(jì)算所面對(duì)的數(shù)據(jù)變得非常復(fù)雜,如社會(huì)感知、微關(guān)系等應(yīng)用將數(shù)據(jù)和復(fù)雜的人類社會(huì)運(yùn)行相關(guān)聯(lián),由于人人都是數(shù)據(jù)的生產(chǎn)者,人們之間的社會(huì)關(guān)系和結(jié)構(gòu)就被隱含到了所產(chǎn)生的數(shù)據(jù)之中。數(shù)據(jù)的產(chǎn)生目前呈現(xiàn)出了:群眾化、自動(dòng)化、連續(xù)化、復(fù)雜化的趨勢。云計(jì)算、大數(shù)據(jù)概念正是在這樣的一個(gè)背景下出現(xiàn)的。這一時(shí)期的典型特征就是計(jì)算必須面向數(shù)據(jù),數(shù)據(jù)是架構(gòu)整個(gè)系統(tǒng)的核心要素,這就使計(jì)算和存儲(chǔ)的協(xié)作機(jī)制研究成為需要重點(diǎn)關(guān)注的核心技術(shù),計(jì)算能有效找到自己需要處理的數(shù)據(jù),可以使系統(tǒng)能更高效地完成海量數(shù)據(jù)的處理和分析。云計(jì)算和大數(shù)據(jù)這兩個(gè)名詞也可看作是描述了面向計(jì)算時(shí)代信息技術(shù)的兩個(gè)方面,云計(jì)算側(cè)重于描述資源和應(yīng)用的網(wǎng)絡(luò)化交付方法,大數(shù)據(jù)側(cè)重于描述面向數(shù)據(jù)時(shí)代由于數(shù)據(jù)量巨大所帶來的技術(shù)挑戰(zhàn)。信息技術(shù)領(lǐng)域提出的面向數(shù)據(jù)的概念同時(shí)也開始深刻地改變了科學(xué)研究的模式,2007年著名的數(shù)據(jù)庫專家Gray提出了科學(xué)研究的第四范式。他認(rèn)為利用海量的數(shù)據(jù)可以為科學(xué)研究和知識(shí)發(fā)現(xiàn)提供除經(jīng)驗(yàn)、理論、計(jì)算外的第四種重要方法。科學(xué)研究的四個(gè)范式的開展歷程也同樣反映了從面向計(jì)算走向面向數(shù)據(jù)的過程。

2.1云計(jì)算與大數(shù)據(jù)如圖2.2所示,人類早期知識(shí)的發(fā)現(xiàn)主要依賴于經(jīng)驗(yàn)、觀察和實(shí)驗(yàn),需要的計(jì)算和產(chǎn)生的數(shù)據(jù)都是很少的。人類在這一時(shí)期對(duì)于宇宙的認(rèn)識(shí)都是這樣形成的,就像伽利略為了證明自由落體定理,是通過在比薩斜塔扔下兩個(gè)大小不一的小球一樣,人類在那個(gè)時(shí)代知識(shí)的獲取方式是原始而樸素的。圖2.2科學(xué)研究四個(gè)范式的開展歷程當(dāng)人類知識(shí)積累到一定的程度后,知識(shí)逐漸形成了理論體系,如牛頓力學(xué)體系、Maxwell的電磁場理論,人類可以利用這些理論體系去預(yù)測自然并獲取新的知識(shí),這時(shí)對(duì)計(jì)算和數(shù)據(jù)的需求已經(jīng)在萌生,人類已可以依賴這些理論發(fā)現(xiàn)新的行星,如海王星、冥王星的發(fā)現(xiàn)不是通過觀測而是通過計(jì)算得到。計(jì)算機(jī)的出現(xiàn)為人類發(fā)現(xiàn)新的知識(shí)提供了重要的工具。這個(gè)時(shí)代正好對(duì)應(yīng)于面向計(jì)算的時(shí)代,可以在某些具有完善理論體系領(lǐng)域利用計(jì)算機(jī)仿真計(jì)算來進(jìn)行研究。這時(shí)計(jì)算機(jī)的作用主要是計(jì)算,例如人類利用仿真計(jì)算可以實(shí)現(xiàn)模擬核爆這樣的復(fù)雜計(jì)算。

現(xiàn)在人類在一年內(nèi)所產(chǎn)生的數(shù)據(jù)可能已經(jīng)超過人類過去幾千年產(chǎn)生的數(shù)據(jù)的總和,即使是復(fù)雜度為的數(shù)據(jù)處理方法在面對(duì)龐大的時(shí)都顯得力不從心,人類逐步進(jìn)入面向數(shù)據(jù)的時(shí)代。第四范式說明可以利用海量數(shù)據(jù)加上高速計(jì)算發(fā)現(xiàn)新的知識(shí),計(jì)算和數(shù)據(jù)的關(guān)系在面向數(shù)據(jù)時(shí)代變得十分緊密,也使計(jì)算和數(shù)據(jù)的協(xié)作問題面臨巨大的技術(shù)挑戰(zhàn)。2.1云計(jì)算與大數(shù)據(jù)2.2云計(jì)算與物聯(lián)網(wǎng)2.2云計(jì)算與物聯(lián)網(wǎng)云計(jì)算和物聯(lián)網(wǎng)在出現(xiàn)的時(shí)間上非常接近,以至于有一段時(shí)間云計(jì)算和物聯(lián)網(wǎng)兩個(gè)名詞總是同時(shí)出現(xiàn)在各類媒體上。物聯(lián)網(wǎng)的出現(xiàn)局部得益于網(wǎng)絡(luò)的開展,大量傳感器數(shù)據(jù)的收集需要良好的網(wǎng)絡(luò)環(huán)境,特別是局部圖像數(shù)據(jù)的傳輸更是對(duì)網(wǎng)絡(luò)的性能有較高的要求。在物聯(lián)網(wǎng)技術(shù)中傳感器的大量使用使數(shù)據(jù)的生產(chǎn)實(shí)現(xiàn)自動(dòng)化,數(shù)據(jù)生產(chǎn)的自動(dòng)化也是推動(dòng)當(dāng)前大數(shù)據(jù)技術(shù)開展的動(dòng)力之一。物聯(lián)網(wǎng)的英文名稱為“TheInternetofThings〞,簡稱:IOT。物聯(lián)網(wǎng)就是“物物相連的互聯(lián)網(wǎng)〞。這有兩層意思:第一,物聯(lián)網(wǎng)的核心和根底仍然是互聯(lián)網(wǎng),是在互聯(lián)網(wǎng)根底之上的延伸和擴(kuò)展的一種網(wǎng)絡(luò);第二,其用戶端延伸和擴(kuò)展到了任何物品與物品之間,進(jìn)行信息交換和通信。2.2云計(jì)算與物聯(lián)網(wǎng)因此,物聯(lián)網(wǎng)的定義是通過射頻識(shí)別(RFID)裝置、紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器等信息傳感設(shè)備,按約定的協(xié)議,把任何物品與互聯(lián)網(wǎng)相連接,進(jìn)行信息交換和通信,以實(shí)現(xiàn)智能化識(shí)別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡(luò)。明確的物聯(lián)網(wǎng)概念最早是由美國麻省理工大學(xué)Auto-ID實(shí)驗(yàn)室在1999年提出的,最初是為了提高基于互聯(lián)網(wǎng)流通領(lǐng)域信息化水平而設(shè)計(jì)的。物聯(lián)網(wǎng)這個(gè)概念可以認(rèn)為對(duì)一類應(yīng)用的稱呼,物聯(lián)網(wǎng)與云計(jì)算技術(shù)的關(guān)系從定義上講是應(yīng)用與平臺(tái)的關(guān)系。2.2云計(jì)算與物聯(lián)網(wǎng)物聯(lián)網(wǎng)系統(tǒng)需要大量的存儲(chǔ)資源來保存數(shù)據(jù),同時(shí)也需要計(jì)算資源來處理和分析數(shù)據(jù),當(dāng)前我們所指的物聯(lián)網(wǎng)傳感器連接呈現(xiàn)出以下的特點(diǎn):連接傳感器種類多樣;連接的傳感器數(shù)量眾多;連接的傳感器地域廣闊。這些特點(diǎn)都會(huì)導(dǎo)致物聯(lián)網(wǎng)系統(tǒng)會(huì)在運(yùn)行過程中產(chǎn)生大量的數(shù)據(jù),物聯(lián)網(wǎng)的出現(xiàn)使數(shù)據(jù)的產(chǎn)生實(shí)現(xiàn)自動(dòng)化,大量的傳感器數(shù)據(jù)不斷地在各個(gè)監(jiān)控點(diǎn)產(chǎn)生,特別是現(xiàn)在信息采樣的空間密度和時(shí)間密度不斷增加,視頻信息的大量使用,這些因素也是目前導(dǎo)致大數(shù)據(jù)概念出現(xiàn)的原因之一。2.2云計(jì)算與物聯(lián)網(wǎng)物聯(lián)網(wǎng)的產(chǎn)業(yè)鏈可以細(xì)分為標(biāo)識(shí)、感知、處理和信息傳送4個(gè)環(huán)節(jié),每個(gè)環(huán)節(jié)的關(guān)鍵技術(shù)分別為RFID、傳感器、智能芯片和電信運(yùn)營商的無線傳輸網(wǎng)絡(luò)。云計(jì)算的出現(xiàn)使物聯(lián)網(wǎng)在互聯(lián)網(wǎng)根底之上延伸和開展成為可能。物聯(lián)網(wǎng)中的物,在云計(jì)算模式中,它相當(dāng)于是帶上傳感器的云終端,與上網(wǎng)本、等終端功能相同。這也是物聯(lián)網(wǎng)在云計(jì)算日漸成熟的今天,才能重新被激活的原因之一。2.2云計(jì)算與物聯(lián)網(wǎng)新的平臺(tái)必定造就新的物聯(lián)網(wǎng),把云計(jì)算的特點(diǎn)與物聯(lián)網(wǎng)的實(shí)際相結(jié)合,云計(jì)算技術(shù)將給物聯(lián)網(wǎng)帶來以下深刻變革:〔1〕解決效勞器節(jié)點(diǎn)的不可靠性問題,最大限度降低效勞器的出錯(cuò)率。近年來,隨著物聯(lián)網(wǎng)從局域網(wǎng)走向城域網(wǎng),其感知信息也呈指數(shù)型增長,同時(shí)導(dǎo)致效勞器端的效勞器數(shù)目呈線性增長。效勞器數(shù)目多了,節(jié)點(diǎn)出錯(cuò)的概率肯定也隨之變大,更何況效勞器并不廉價(jià)。節(jié)點(diǎn)不可信問題使得一般的中小型公司要想單獨(dú)撐起一片屬于自己的天空,那是難上加難。而在云計(jì)算模式中,因?yàn)椤霸屁曈谐汕先f、甚至上百萬臺(tái)效勞器,即使同時(shí)宕掉幾臺(tái),“云〞中的效勞器也可以在很短的時(shí)間內(nèi),利用冗余備份、熱拔插、RAID等技術(shù)快速恢復(fù)效勞。例如,Google公司不再是一味追求單個(gè)效勞器的性能參數(shù),而是更多地關(guān)注如何用堆積如山的集群來彌補(bǔ)單個(gè)效勞器的性能缺乏。在對(duì)單個(gè)效勞器性能要求的降低的同時(shí)也減少了相應(yīng)的資金需求。至于對(duì)于宕機(jī)的效勞器,Google采用的是直接換掉。云計(jì)算集群的參加,能夠保證物聯(lián)網(wǎng)真正實(shí)現(xiàn)無間斷的平安效勞。2.2云計(jì)算與物聯(lián)網(wǎng)〔2〕低本錢的投入可以換來高收益,讓限制訪問效勞器次數(shù)的瓶頸成為歷史。效勞器相關(guān)硬件資源的承受能力都是有一定范圍的,當(dāng)效勞器同時(shí)響應(yīng)的數(shù)量超過自身的限制時(shí),效勞器就會(huì)崩潰。而隨著物聯(lián)網(wǎng)領(lǐng)域的逐步擴(kuò)大,物的數(shù)量呈幾何級(jí)增長,而物的信息也呈爆炸性增長,隨之而來的訪問量空前高漲。因此,為了讓效勞器能平安可靠地運(yùn)行,只有不斷增加效勞器的數(shù)量和購置更高級(jí)的效勞器,或者限制同時(shí)訪問效勞器的數(shù)量。然而這兩種方法都存在致命的缺點(diǎn):效勞器的增加,雖能通過大量的經(jīng)費(fèi)投入解決一時(shí)的訪問壓力,但設(shè)備的浪費(fèi)卻是巨大的。而采用云計(jì)算技術(shù),可以動(dòng)態(tài)地增加或減少云模式中效勞器的數(shù)量和提高質(zhì)量,這樣做不僅可以解決訪問的壓力,還經(jīng)濟(jì)實(shí)惠。2.2云計(jì)算與物聯(lián)網(wǎng)〔3〕讓物聯(lián)網(wǎng)從局域網(wǎng)走向城域網(wǎng)甚至是廣域網(wǎng),在更廣的范圍內(nèi)進(jìn)行信息資源共享。局域網(wǎng)中的物聯(lián)網(wǎng)就像是一個(gè)超市,物聯(lián)網(wǎng)中的物就是超市中的商品,商品離開這個(gè)超市到另外的超市,盡管它還存在,但效勞器端內(nèi)該物體的信息會(huì)隨著它的離開而消失。其信息共享的局限性不言而喻。但通過云計(jì)算技術(shù),物聯(lián)網(wǎng)的信息直接存放在Internet的“云〞上,而每個(gè)“云〞有幾百萬臺(tái)效勞器分布在全國甚至是全球的各個(gè)角落,無論這個(gè)物走到哪兒,只要具備傳感器芯片,“云〞中最近的效勞器就能收到它的信息,并對(duì)其信息進(jìn)行定位、分析、存儲(chǔ)、更新。用戶的地理位置也不再受限制,只要通過Internet就能共享物體的最新信息。2.2云計(jì)算與物聯(lián)網(wǎng)〔4〕將云計(jì)算與數(shù)據(jù)挖掘技術(shù)相結(jié)合,增強(qiáng)物聯(lián)網(wǎng)的數(shù)據(jù)處理能力,快速做出商業(yè)抉擇。伴隨著物聯(lián)網(wǎng)應(yīng)用的不斷擴(kuò)大,業(yè)務(wù)應(yīng)用范圍從單一領(lǐng)域開展到所有的各行各業(yè),信息處理方式從分散到集中,產(chǎn)生了大量的業(yè)務(wù)數(shù)據(jù)。運(yùn)用云計(jì)算技術(shù),由云模式下的幾百萬臺(tái)的計(jì)算機(jī)集群提供強(qiáng)大的計(jì)算能力,并通過龐大的計(jì)算機(jī)處理程序自動(dòng)將任務(wù)分解成假設(shè)干個(gè)較小的子任務(wù),快速地對(duì)海量業(yè)務(wù)數(shù)據(jù)進(jìn)行分析、處理、存儲(chǔ)、挖掘,在短時(shí)間內(nèi)提取出有價(jià)值的信息,為物聯(lián)網(wǎng)的商業(yè)決策效勞。這也是將云計(jì)算技術(shù)與數(shù)據(jù)挖掘技術(shù)相結(jié)合給物聯(lián)網(wǎng)帶來的一大競爭優(yōu)勢。2.2云計(jì)算與物聯(lián)網(wǎng)任何技術(shù)從萌芽到成型,再到成熟,都需要經(jīng)歷一個(gè)過程。云計(jì)算技術(shù)作為一項(xiàng)有著廣泛應(yīng)用前景的新興前沿技術(shù),尚處于成型階段,自然也面臨著一些問題。首先是標(biāo)準(zhǔn)化問題。雖然云平臺(tái)解決的問題一樣,架構(gòu)一樣,但基于不同的技術(shù)、應(yīng)用,其細(xì)節(jié)很可能完全不同,從而導(dǎo)致平臺(tái)與平臺(tái)之間可能無法互通。目前在Google、EMC、Amazon等云平臺(tái)上都存在許多云技術(shù)打造的應(yīng)用程序,卻無法跨平臺(tái)運(yùn)行。這樣一來,物聯(lián)網(wǎng)的網(wǎng)與網(wǎng)之間的局限性依舊存在。其次是平安問題。物聯(lián)網(wǎng)從專用網(wǎng)到互聯(lián)網(wǎng),雖然信息分析、處理得到了質(zhì)的提升,但同時(shí)網(wǎng)絡(luò)平安性也遇到了前所未有的挑戰(zhàn)。Internet上的各種病毒、木馬以及惡意入侵程序讓架于云計(jì)算平臺(tái)上的物聯(lián)網(wǎng)處于非常為難的境地。2.2云計(jì)算與物聯(lián)網(wǎng)云計(jì)算作為互聯(lián)網(wǎng)全球統(tǒng)一化的必然趨勢,其統(tǒng)一虛擬的根底設(shè)施平臺(tái),方便透明的上層調(diào)用接口,計(jì)算信息的資源共享等特點(diǎn),完全是在充分考慮了各行各業(yè)的整合需求下才形成的拯救互聯(lián)網(wǎng)的諾亞方舟。盡管,目前云計(jì)算的應(yīng)用還處在探索測試階段,但隨著物聯(lián)網(wǎng)界對(duì)云計(jì)算技術(shù)的關(guān)注以及云計(jì)算技術(shù)的日趨成熟,云計(jì)算技術(shù)在物聯(lián)網(wǎng)中的廣泛應(yīng)用指日可待。2.2云計(jì)算與物聯(lián)網(wǎng)2.3一致性哈希算法2.3一致性哈希算法一致性哈希算法的根本原理主從結(jié)構(gòu)的云計(jì)算系統(tǒng)負(fù)載的均衡往往通過主節(jié)點(diǎn)來完成,而一些對(duì)等結(jié)構(gòu)的云計(jì)算系統(tǒng)可以采用一致性哈希算法來實(shí)現(xiàn)負(fù)載的均衡,這種模式防止了主從結(jié)構(gòu)云計(jì)算系統(tǒng)對(duì)主節(jié)點(diǎn)失效的敏感。哈希算法是一種從稀疏值范圍到緊密值范圍的映射方法,在存儲(chǔ)和計(jì)算定位時(shí)可以被看作是一種路由算法,通過這種路由算法文件塊能被惟一地定位到一個(gè)節(jié)點(diǎn)的位置。一致性哈希算法的根本原理傳統(tǒng)的哈希算法的容錯(cuò)性和擴(kuò)展性都不好,無法有效地適應(yīng)面向數(shù)據(jù)系統(tǒng)節(jié)點(diǎn)的動(dòng)態(tài)變化。1997年DavidKarger提出了一致性哈希算法來定位數(shù)據(jù),實(shí)現(xiàn)了云計(jì)算系統(tǒng)在節(jié)點(diǎn)變化時(shí)的單調(diào)性,實(shí)現(xiàn)了較小的數(shù)據(jù)遷移代價(jià)。Amazon的云存儲(chǔ)系統(tǒng)Dynamo改進(jìn)了根本的一致性哈希算法,引入了虛擬節(jié)點(diǎn),使系統(tǒng)具有更加均衡地存儲(chǔ)定位能力。Facebook開發(fā)的Cassandra系統(tǒng)也是采用了一致性哈希算法的存儲(chǔ)管理算法。一致性哈希算法的根本原理一致性哈希算法及其改進(jìn)算法已成為分布式存儲(chǔ)領(lǐng)域的一個(gè)標(biāo)準(zhǔn)技術(shù)。使用一致性哈希算法的系統(tǒng)無需中心節(jié)點(diǎn)來維護(hù)元數(shù)據(jù),解決了元數(shù)據(jù)效勞器的單點(diǎn)失效和性能瓶頸問題,但對(duì)于系統(tǒng)的負(fù)載均衡和調(diào)度節(jié)點(diǎn)的有效性提出了更高的要求。傳統(tǒng)的哈希算法在節(jié)點(diǎn)數(shù)沒有變化時(shí)能很好地實(shí)現(xiàn)數(shù)據(jù)的分配,但當(dāng)節(jié)點(diǎn)數(shù)發(fā)生變化時(shí)傳統(tǒng)的哈希算法將對(duì)數(shù)據(jù)進(jìn)行重新的分配,這樣系統(tǒng)恢復(fù)的代價(jià)就非常大。例如系統(tǒng)中節(jié)點(diǎn)數(shù)為N,傳統(tǒng)的哈希算法的計(jì)算方法為:HASH〔Key〕%N,當(dāng)N發(fā)生變化時(shí)整個(gè)哈希的分配次序?qū)⑼耆匦律?。云?jì)算系統(tǒng)通常涉及大量的節(jié)點(diǎn),節(jié)點(diǎn)的失效和參加都是非常常見的,傳統(tǒng)的哈希算法無法滿足這種節(jié)點(diǎn)數(shù)目頻繁變化的要求。一致性哈希算法的根本原理一致性哈希的設(shè)計(jì)目標(biāo)就是解決節(jié)點(diǎn)頻繁變化時(shí)的任務(wù)分配問題,一致性哈希將整個(gè)哈希值空間組織成一個(gè)虛擬圓環(huán)〔如圖2.3所示〕,圖2.3一致性哈希原理假設(shè)某哈希函數(shù)H的值空間為0~(232-1),即32位無符號(hào)整數(shù),將各節(jié)點(diǎn)用H函數(shù)哈希,可以將效勞器的IP或主機(jī)名作為關(guān)鍵字哈希,這樣每個(gè)節(jié)點(diǎn)就能確定其在哈希環(huán)上的位置,將Key用H函數(shù)映射到哈??臻g的一個(gè)值,沿該值向后,將遇到的第一個(gè)節(jié)點(diǎn)作為處理節(jié)點(diǎn);假設(shè)某個(gè)Key的HASH值落在node1和node2各自HASH值的中間位置,那么此Key對(duì)應(yīng)的業(yè)務(wù)請(qǐng)求由node2處理。當(dāng)增加效勞節(jié)點(diǎn)時(shí),只會(huì)影響與之相鄰的某一節(jié)點(diǎn),其他節(jié)點(diǎn)不受影響。如果在node2和node4之間增加一個(gè)node5,那么只有node4處理的局部Key〔HASH值落在node2之后、node5之前的那局部Key〕變?yōu)橛蒼ode5來處理,其他節(jié)點(diǎn)處理的Key不變。如果節(jié)點(diǎn)數(shù)不多,那么將這些節(jié)點(diǎn)映射到值空間之后,分布可能會(huì)很不均勻,必然會(huì)造成個(gè)別節(jié)點(diǎn)處理的Key數(shù)量遠(yuǎn)大于其他節(jié)點(diǎn),這就起不到負(fù)載均衡的效果。這可以通過引入虛擬節(jié)點(diǎn)的方式解決,即對(duì)每一個(gè)節(jié)點(diǎn)計(jì)算多個(gè)HASH值,盡量保證這些HASH值比較均勻地分布在值空間中。當(dāng)根據(jù)Key查找節(jié)點(diǎn)時(shí),找到的是虛擬節(jié)點(diǎn),然后再根據(jù)虛擬節(jié)點(diǎn)查找對(duì)應(yīng)的真實(shí)節(jié)點(diǎn)。一致性哈希算法的根本原理簡單地來說,一致性哈希算法的根本實(shí)現(xiàn)過程為:對(duì)Key值首先用MD5算法將其變換為一個(gè)長度32位的十六進(jìn)制數(shù)值,再用這個(gè)數(shù)值對(duì)232取模,將其映射到由232個(gè)值構(gòu)成的環(huán)狀哈??臻g,對(duì)節(jié)點(diǎn)也以相同的方法映射到環(huán)狀哈??臻g,最后Key值會(huì)在環(huán)狀哈??臻g中找到大于它的最小的節(jié)點(diǎn)值作為路由值。一致性哈希算法的采用使集群系統(tǒng)在進(jìn)行任務(wù)劃分時(shí)不再依賴某些管理節(jié)點(diǎn)來維護(hù),并且在節(jié)點(diǎn)數(shù)據(jù)發(fā)生變化時(shí)能夠以最小的代價(jià)實(shí)現(xiàn)任務(wù)的再分配,這一優(yōu)點(diǎn)特別符合云計(jì)算系統(tǒng)資源池彈性化的要求,因此一致性哈希算法成為了實(shí)現(xiàn)無主節(jié)點(diǎn)對(duì)等結(jié)構(gòu)集群的一種標(biāo)準(zhǔn)算法。2.3.2一致性哈希算法中計(jì)算和存儲(chǔ)位置的一致性2.3.2一致性哈希算法中計(jì)算和存儲(chǔ)位置的一致性基于一致性哈希的原理可以給出計(jì)算和存儲(chǔ)的一致性哈希方法,從而使計(jì)算能在數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)發(fā)起。對(duì)于多用戶分布式存儲(chǔ)系統(tǒng)來說:“用戶名+邏輯存儲(chǔ)位置〞所構(gòu)成的字符串在系統(tǒng)中是惟一確定的,如屬于用戶wang,邏輯存儲(chǔ)位置為/test/test1.txt的文件所構(gòu)成的字符串“wang/test/test1.txt〞在系統(tǒng)中一定是惟一的,同時(shí)某一個(gè)計(jì)算任務(wù)需要對(duì)test1.txt這個(gè)文件進(jìn)行操作和處理,那么它一定會(huì)在程序中指定用戶名和邏輯位置,因此存儲(chǔ)和計(jì)算test1.txt都利用相同的一致性哈希算法就能保證計(jì)算被分配的節(jié)點(diǎn)和當(dāng)時(shí)存儲(chǔ)test1.txt文件時(shí)被分配的節(jié)點(diǎn)是同一個(gè)節(jié)點(diǎn)。現(xiàn)在以下面這個(gè)應(yīng)用場景為例,說明一致性哈希算法實(shí)現(xiàn)計(jì)算和存儲(chǔ)位置一致性的方法:〔1〕面向相對(duì)“小〞數(shù)據(jù)進(jìn)行處理,典型的文件大小為100MB之內(nèi),通常不涉及對(duì)文件的分塊問題,這一點(diǎn)與MapReduce框架不同;〔2〕待處理數(shù)據(jù)之間沒有強(qiáng)的關(guān)聯(lián)性,數(shù)據(jù)塊之間的處理是獨(dú)立的,數(shù)據(jù)處理是不需要進(jìn)行數(shù)據(jù)塊之間的消息通信,保證節(jié)點(diǎn)間發(fā)起的計(jì)算是低耦合的計(jì)算任務(wù);〔3〕程序片的典型大小遠(yuǎn)小于需要處理的數(shù)據(jù)大小,計(jì)算程序片本質(zhì)上也可以看作是一種特殊的數(shù)據(jù),這一假設(shè)在大多數(shù)情況下是成立的;〔4〕數(shù)據(jù)的存儲(chǔ)先于計(jì)算發(fā)生。2.3.2一致性哈希算法中計(jì)算和存儲(chǔ)位置的一致性根據(jù)一致性哈希算法的根本原理在面向數(shù)據(jù)的分布式系統(tǒng)中計(jì)算和存儲(chǔ)位置一致性方法如圖2.4所示,其主要步驟如下:①將效勞器節(jié)點(diǎn)以IP地址作為Key值,以一致性哈希方法映射到哈希環(huán)上;PHOTO②在數(shù)據(jù)存儲(chǔ)時(shí)以(用戶名+文件邏輯位置)作為惟一的Key值,映射到哈希環(huán)上,并順時(shí)針找到離自己哈希值最近的節(jié)點(diǎn)作為實(shí)際數(shù)據(jù)存儲(chǔ)的位置;③在發(fā)起計(jì)算任務(wù)時(shí)提取計(jì)算任務(wù)所要操作的數(shù)據(jù)對(duì)應(yīng)的(用戶名+文件邏輯位置)值作為Key值,映射到哈希環(huán)上,并順時(shí)針找到離自己哈希值最近的節(jié)點(diǎn)注入程序并發(fā)起計(jì)算的節(jié)點(diǎn)。由于相同用戶的相同數(shù)據(jù)(用戶名+文件邏輯位置)其在一致性哈希算法作用下一定會(huì)被分配到相同的節(jié)點(diǎn),從而保證了計(jì)算所發(fā)起的節(jié)點(diǎn)剛好就是計(jì)算所需要處理的數(shù)據(jù)所在的節(jié)點(diǎn)。在這種算法的支持下只要計(jì)算程序片需要處理的數(shù)據(jù)邏輯位置是確定的,系統(tǒng)就會(huì)將計(jì)算程序片路由到數(shù)據(jù)存儲(chǔ)位置所在的節(jié)點(diǎn),這時(shí)節(jié)點(diǎn)間的負(fù)載均衡性是由數(shù)據(jù)分布的均衡化來實(shí)現(xiàn)的。圖2.4一致性哈希算法實(shí)現(xiàn)計(jì)算與數(shù)據(jù)的位置一致性一致性哈希算法可以實(shí)現(xiàn)無中心節(jié)點(diǎn)的計(jì)算和數(shù)據(jù)定位,使計(jì)算可以惟一地找到其所要處理和分析的數(shù)據(jù),使計(jì)算能最大可能地在數(shù)據(jù)存儲(chǔ)的位置發(fā)起,從而節(jié)約大量的網(wǎng)絡(luò)資源,同時(shí)防止了系統(tǒng)單點(diǎn)失效造成的不良影響。利用一致性哈希方法在面對(duì)海量文件時(shí)系統(tǒng)不用維護(hù)一個(gè)龐大的元數(shù)據(jù)庫用于保存文件的存儲(chǔ)信息,計(jì)算尋找數(shù)據(jù)的速度非常直接,路由的算法復(fù)雜度非常低。需要存儲(chǔ)大量Key-Value的Amazon的電子商務(wù)應(yīng)用和Facebook的社交網(wǎng)站應(yīng)用都采用了一致性哈希算法。2.3.2一致性哈希算法中計(jì)算和存儲(chǔ)位置的一致性2.4非關(guān)系型數(shù)據(jù)庫2.4非關(guān)系型數(shù)據(jù)庫從關(guān)系型數(shù)據(jù)庫到非關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫〔RelationalDatabase〕技術(shù)是1970年埃德加·科德〔EdgarFrankCodd〕所提出的,關(guān)系型數(shù)據(jù)庫克服了網(wǎng)絡(luò)數(shù)據(jù)庫模型和層次數(shù)據(jù)庫模型的一些弱點(diǎn)。1981年埃德加·科德因在關(guān)系型數(shù)據(jù)庫方面的奉獻(xiàn)獲得了圖靈獎(jiǎng),因此埃德加·科德也被稱為“關(guān)系數(shù)據(jù)庫之父〞〔見圖2.5〕。關(guān)系型數(shù)據(jù)庫幾十年來一直是統(tǒng)治數(shù)據(jù)庫技術(shù)的核心標(biāo)準(zhǔn),目前主要的數(shù)據(jù)庫系統(tǒng)仍然采用的是關(guān)系型數(shù)據(jù)庫。埃德加·科德創(chuàng)造的關(guān)系數(shù)據(jù)庫不僅有一個(gè)堅(jiān)實(shí)的數(shù)學(xué)根底,即關(guān)系代數(shù),而且埃德加·科德從關(guān)系代數(shù)的根底推演出一套關(guān)系數(shù)據(jù)庫的理論。這個(gè)理論包括一系列“范式〞,可以用來檢查數(shù)據(jù)庫是否有冗余性和不一致等性質(zhì)。另外,埃德加·科德也在關(guān)系代數(shù)根底之上定義了一系列通用的數(shù)據(jù)根本操作。但云計(jì)算和大數(shù)據(jù)技術(shù)的出現(xiàn)逐步動(dòng)搖了關(guān)系型數(shù)據(jù)庫的統(tǒng)治地位。圖2.5關(guān)系數(shù)據(jù)庫之父—EdgarFrankCodd從關(guān)系型數(shù)據(jù)庫到非關(guān)系型數(shù)據(jù)庫隨著信息產(chǎn)業(yè)的開展,特別是在云計(jì)算和互聯(lián)網(wǎng)Web2.0蓬勃開展的今天,數(shù)據(jù)庫系統(tǒng)成為了IT架構(gòu)中信息存儲(chǔ)和處理的必要組成局部,Web2.0是相對(duì)Web1.0的新的一類互聯(lián)網(wǎng)應(yīng)用的統(tǒng)稱。Web1.0的主要特點(diǎn)在于用戶通過瀏覽器獲取信息。Web2.0那么更注重用戶的交互作用,用戶既是網(wǎng)站內(nèi)容的瀏覽者,也是網(wǎng)站內(nèi)容的制造者。從關(guān)系型數(shù)據(jù)庫到非關(guān)系型數(shù)據(jù)庫所謂網(wǎng)站內(nèi)容的制造者是說互聯(lián)網(wǎng)上的每一個(gè)用戶不再僅僅是互聯(lián)網(wǎng)的讀者,同時(shí)也成為互聯(lián)網(wǎng)的作者;不再僅僅是在互聯(lián)網(wǎng)上沖浪,同時(shí)也成為波浪制造者;在模式上由單純的“讀〞向“寫〞以及“共同建設(shè)〞開展;由被動(dòng)地接收互聯(lián)網(wǎng)信息向主動(dòng)創(chuàng)造互聯(lián)網(wǎng)信息開展,從而更加人性化。云計(jì)算資源網(wǎng)絡(luò)化的提供方式更是為Web2.0開展提供了無限的想象空間,從這一點(diǎn)看我們已很難將這兩者完全區(qū)分開來。云計(jì)算技術(shù)對(duì)數(shù)據(jù)庫高并發(fā)讀/寫的需求,對(duì)海量數(shù)據(jù)的高效率存儲(chǔ)和訪問的需求,對(duì)數(shù)據(jù)庫的高可擴(kuò)展性和高可用性的需求都讓傳統(tǒng)關(guān)系型數(shù)據(jù)庫系統(tǒng)顯得力不從心。同時(shí)關(guān)系型數(shù)據(jù)庫技術(shù)中的一些核心技術(shù)要求如:數(shù)據(jù)庫事務(wù)一致性需求,數(shù)據(jù)庫的寫實(shí)時(shí)性和讀實(shí)時(shí)性需求,對(duì)復(fù)雜的SQL查詢,特別是多表關(guān)聯(lián)查詢的需求等在Web2.0技術(shù)中卻并不是必要的,而且系統(tǒng)為此付出了較大的代價(jià)。從關(guān)系型數(shù)據(jù)庫到非關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫技術(shù)的出現(xiàn)是云計(jì)算、大數(shù)據(jù)技術(shù)的必然需求,非關(guān)系型數(shù)據(jù)庫可以被稱為一項(xiàng)數(shù)據(jù)庫的革命,從2023年開始,在云計(jì)算的開展和開源社區(qū)的推動(dòng)下,非關(guān)系型數(shù)據(jù)庫的開展顯示了較強(qiáng)的活力,也得到了越來越多的用戶關(guān)注和認(rèn)可。目前已經(jīng)有多家大型IT企業(yè)已經(jīng)采用非關(guān)系型數(shù)據(jù)庫作為重要的生產(chǎn)系統(tǒng)根底支撐,比方Google的BigTable,Amazon的Dynamo,以及Digg、Twitter、Facebook在使用的Cassandra等。非關(guān)系型數(shù)據(jù)庫的定義非關(guān)系型數(shù)據(jù)庫的定義非關(guān)系型數(shù)據(jù)庫,又被稱為NoSQL〔NotOnlySQL〕,意為不僅僅是SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語言),據(jù)維基百科介紹,NoSQL最早出現(xiàn)于1998年,是由CarloStrozzi最早開發(fā)的一個(gè)輕量、開源、不兼容SQL功能的關(guān)系型數(shù)據(jù)庫。2023年,在一次關(guān)于分布式開源數(shù)據(jù)庫的討論會(huì)上,再次提出了NoSQL的概念,此時(shí)NoSQL主要是指非關(guān)系型、分布式、不提供ACID〔數(shù)據(jù)庫事務(wù)處理的四個(gè)根本要素〕的數(shù)據(jù)庫設(shè)計(jì)模式。同年,在亞特蘭大舉行的“NO:SQL(east)〞討論會(huì)上,對(duì)NoSQL最普遍的定義是“非關(guān)聯(lián)型的〞,強(qiáng)調(diào)Key-Value存儲(chǔ)和文檔數(shù)據(jù)庫的優(yōu)點(diǎn),而不是單純地反對(duì)RDBMS,至此,NoSQL開始正式出現(xiàn)在世人面前。非關(guān)系型數(shù)據(jù)庫的分類非關(guān)系型數(shù)據(jù)庫的分類NoSQL描述的是大量結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)方法的集合,根據(jù)結(jié)構(gòu)化方法以及應(yīng)用場合的不同,主要可以將NoSQL分為以下幾類:〔1〕Column-Oriented面向檢索的列式存儲(chǔ),其存儲(chǔ)結(jié)構(gòu)為列式結(jié)構(gòu),不同于關(guān)系型數(shù)據(jù)庫的行式結(jié)構(gòu),這種結(jié)構(gòu)會(huì)讓很多統(tǒng)計(jì)聚合操作更簡單方便,使系統(tǒng)具有較高的可擴(kuò)展性。這類數(shù)據(jù)庫還可以適應(yīng)海量數(shù)據(jù)的增加以及數(shù)據(jù)結(jié)構(gòu)的變化,這個(gè)特點(diǎn)與云計(jì)算所需的相關(guān)需求是相符合的。比方GoogleAppengine的BigTable以及相同設(shè)計(jì)理念的Hadoop子系統(tǒng)HaBase就是這類的典型代表。需要特別指出的是,BigTable特別適用于MapReduce處理,這對(duì)于云計(jì)算的開展有很高的適應(yīng)性。非關(guān)系型數(shù)據(jù)庫的分類〔2〕Key-Value面向高性能并發(fā)讀/寫的緩存存儲(chǔ),其結(jié)構(gòu)類似于數(shù)據(jù)結(jié)構(gòu)中的Hash表,每個(gè)Key分別對(duì)應(yīng)一個(gè)Value,能夠提供非??斓牟樵兯俣取⒋髷?shù)據(jù)存放量和高并發(fā)操作,非常適合通過主鍵對(duì)數(shù)據(jù)進(jìn)行查詢和修改等操作。Key-Value數(shù)據(jù)庫的主要特點(diǎn)是具有極高的并發(fā)讀/寫性能,非常適應(yīng)作為緩存系統(tǒng)使用。MemcacheDB、BerkeleyDB、Redis、Flare就是Key-Value數(shù)據(jù)庫的代表。非關(guān)系型數(shù)據(jù)庫的分類〔3〕Document-Oriented面向海量數(shù)據(jù)訪問的文檔存儲(chǔ),這類存儲(chǔ)的結(jié)構(gòu)與Key-Value非常相似,也是每個(gè)Key分別對(duì)應(yīng)一個(gè)Value,但是這個(gè)Value主要以JSON〔JavaScriptObjectNotations〕或者XML等格式的文檔來進(jìn)行存儲(chǔ)。這種存儲(chǔ)方式可以很方便地被面向?qū)ο蟮恼Z言所使用。這類數(shù)據(jù)庫可以在海量的數(shù)據(jù)中快速查詢數(shù)據(jù),典型代表為MongoDB、CouchDB等。非關(guān)系型數(shù)據(jù)庫的分類NoSQL具有擴(kuò)展簡單、高并發(fā)、高穩(wěn)定性、本錢低廉等優(yōu)勢,也存在一些問題,比方:NoSQL暫不提供對(duì)SQL的支持,會(huì)造成開發(fā)人員的額外學(xué)習(xí)本錢;NoSQL大多為開源軟件,其成熟度與商用的關(guān)系型數(shù)據(jù)庫系統(tǒng)相比有差距;NoSQL的架構(gòu)特性決定了其很難保證數(shù)據(jù)的完整性,適合在一些特殊的應(yīng)用場景使用。2.5集群高速通信標(biāo)準(zhǔn)InfiniBand集群結(jié)構(gòu)是云計(jì)算系統(tǒng)的根本結(jié)構(gòu)之一,在集群結(jié)構(gòu)中節(jié)點(diǎn)之間的協(xié)調(diào)和數(shù)據(jù)傳送一般都通過消息傳遞機(jī)制進(jìn)行,在傳統(tǒng)的高性能計(jì)算系統(tǒng)集群內(nèi)部的網(wǎng)絡(luò)通信能力成為了影響集群計(jì)算能力的一個(gè)重要因素,由于受到網(wǎng)絡(luò)通信速度的制約甚至提出以計(jì)算換通信的編程理念。云計(jì)算系統(tǒng)中集群的規(guī)模變得空前巨大,為了很好地實(shí)現(xiàn)集群內(nèi)部的調(diào)度和協(xié)調(diào)高速的網(wǎng)絡(luò)通信是必不可少的。InfiniBand就是目前較為常見的一種高速集群通信協(xié)議,它在高性能計(jì)算領(lǐng)域已得到廣泛的應(yīng)用。2.5集群高速通信標(biāo)準(zhǔn)InfiniBandInfiniBand是一種全新、功能強(qiáng)大、設(shè)計(jì)用來支持Internet根底設(shè)施I/O互聯(lián)的體系結(jié)構(gòu)。InfiniBand被工業(yè)界的頂級(jí)公司所支持,執(zhí)行委員會(huì)成員包括:Compaq、Dell、HewlettPackard、IBM、Intel、Microsoft和Sun。InfiniBand行業(yè)協(xié)會(huì)成員總計(jì)超過220個(gè)。InfiniBand被主要的OEM效勞器生產(chǎn)商所支持,用來作為下一代效勞器的I/O互聯(lián)標(biāo)準(zhǔn),是第一個(gè)高性能的機(jī)箱內(nèi)部I/O互聯(lián)方式得到延伸的工業(yè)標(biāo)準(zhǔn)。InfiniBand是惟一既提供機(jī)箱內(nèi)底板互聯(lián)解決方案,又可以使高速帶寬延伸出機(jī)箱外部的互聯(lián)標(biāo)準(zhǔn),是一種把I/O和系統(tǒng)域網(wǎng)絡(luò)統(tǒng)一起來的標(biāo)準(zhǔn)。與其他商品化系統(tǒng)域網(wǎng)絡(luò)不同,InfiniBand網(wǎng)絡(luò)首先由行業(yè)協(xié)會(huì)制定標(biāo)準(zhǔn),然后生產(chǎn)商根據(jù)標(biāo)準(zhǔn)制造出InfiniBand設(shè)備,不同生產(chǎn)商的產(chǎn)品要求具有互操作性,這樣可以使InfiniBand產(chǎn)品具有更好的性能價(jià)格比。2.5集群高速通信標(biāo)準(zhǔn)InfiniBandInfiniBand是在1999年由FutureIO和NGIO兩個(gè)標(biāo)準(zhǔn)整合而來的新型互聯(lián)技術(shù)。它將復(fù)雜的I/O系統(tǒng)與CPU、內(nèi)存分開,使I/O子系統(tǒng)獨(dú)立,采用基于包交換的高速串行鏈路和可擴(kuò)展的高速交換網(wǎng)絡(luò)替代共享總線結(jié)構(gòu),提供了高帶寬、低延遲、可擴(kuò)展的I/O互聯(lián)。基于I/O通路共享機(jī)制的InfiniBand提供了一種連接計(jì)算機(jī)的新途徑,采用InfiniBand之后,I/O不再是效勞器的組成局部,這時(shí)遠(yuǎn)程存儲(chǔ)設(shè)備、I/O設(shè)備和效勞器之間的互聯(lián)是通過InfiniBand交換機(jī)和路由器完成的,克服了傳統(tǒng)的共享I/O總線結(jié)構(gòu)的種種弊端。InfiniBand具有傳輸速率高、傳輸距離長、接口功耗低以及噪聲容限高等特性,單線傳輸速率為2.5Gbps,可通過2、4或12線并行來擴(kuò)展通道帶寬,峰值帶寬高達(dá)2.5、10、30Gbps〔1x、4x、12x線〕。2.5集群高速通信標(biāo)準(zhǔn)InfiniBandInfinBand既可作為系統(tǒng)內(nèi)部互聯(lián)技術(shù)又可作為網(wǎng)絡(luò)互聯(lián)技術(shù),既可用于構(gòu)造高性能刀片效勞器〔BladeServer〕;又可用于構(gòu)建具有高可用性和高可伸縮性的大規(guī)模集群系統(tǒng);還可用于構(gòu)建性能卓越的存儲(chǔ)區(qū)域網(wǎng)絡(luò)SAN。2.6云計(jì)算大數(shù)據(jù)集群的自組織特性自組織理論產(chǎn)生于20世紀(jì)七八十年代,主要研究混沌系統(tǒng)在隨機(jī)識(shí)別時(shí)系統(tǒng)內(nèi)部自發(fā)地由無序變?yōu)橛行?、形成耗散結(jié)構(gòu)的過程,被物理、化學(xué)、生物學(xué)、社會(huì)學(xué)、心理學(xué)等領(lǐng)域廣泛研究,其中一些研究者將自組織理論的思想、模型與計(jì)算機(jī)科學(xué)、控制理論等學(xué)科相結(jié)合,形成了一些新興的研究方向。自組織算法按照自下而上的機(jī)制進(jìn)行控制,與一般采用中心控制算法不同,在進(jìn)化計(jì)算、任務(wù)分配、網(wǎng)絡(luò)自組織演化等中得到廣泛的研究。2.6云計(jì)算大數(shù)據(jù)集群的自組織特性典型的進(jìn)化算法〔如蟻群算法〕由個(gè)體依據(jù)簡單規(guī)那么,通過正反響、分布式協(xié)作依靠群體的力量自動(dòng)尋找最優(yōu)路徑;任務(wù)分配通過多智能體并行實(shí)現(xiàn)在離散、有限的數(shù)據(jù)結(jié)構(gòu)上,尋找一個(gè)滿足給定約束條件并使目標(biāo)函數(shù)值到達(dá)最大或者最小的解;人工生命進(jìn)化由人工分子的非線性相互作用引起,是遠(yuǎn)離熱平衡的相變,是自組織的研究方向之一;網(wǎng)絡(luò)自組織演化研究在內(nèi)在機(jī)制驅(qū)動(dòng)下,網(wǎng)絡(luò)自行從簡單向復(fù)雜、從粗糙向細(xì)致方向開展,不斷地以局部優(yōu)化到達(dá)全局優(yōu)化的過程。2.6云計(jì)算大數(shù)據(jù)集群的自組織特性研究自組織必然要提到耗散結(jié)構(gòu)理論,比利時(shí)科學(xué)家普里高津1969年提出耗散結(jié)構(gòu)理論后,這一理論就被廣泛地應(yīng)用于物理、生物、化學(xué)乃至社會(huì)科學(xué)的研究中。由耗散結(jié)構(gòu)引出的自組織現(xiàn)象更是打破了人類對(duì)自然的常規(guī)認(rèn)識(shí)。耗散結(jié)構(gòu)理論和協(xié)同學(xué)從宏觀、微觀及兩者的聯(lián)系上答復(fù)了系統(tǒng)自動(dòng)走向有序結(jié)構(gòu)的問題,其成果被稱為自組織理論。2.6云計(jì)算大數(shù)據(jù)集群的自組織特性出現(xiàn)自組織現(xiàn)象的系統(tǒng)必須是耗散結(jié)構(gòu)的。耗散結(jié)構(gòu)理論

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論