我國(guó)基于云計(jì)算數(shù)據(jù)庫(kù)的研究


時(shí)間:2014-05-09





  “云”和“大數(shù)據(jù)”是當(dāng)今IT圈當(dāng)之無(wú)愧的最熱的兩個(gè)關(guān)鍵詞,云和大數(shù)據(jù)之間有著千絲萬(wàn)縷的聯(lián)系,兩者相互促進(jìn),共同發(fā)展。隨著云計(jì)算的發(fā)展,數(shù)據(jù)量呈現(xiàn)爆炸式增長(zhǎng),海量的數(shù)據(jù)除了在本地存儲(chǔ),也可以在云上開(kāi)辟新的空間。結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)或者非結(jié)構(gòu)化數(shù)據(jù),云數(shù)據(jù)庫(kù)都提供了相應(yīng)的產(chǎn)品,協(xié)助用戶管理和消費(fèi)數(shù)據(jù),將他們從繁瑣的硬件配置和管理中解脫出來(lái)。

  1.云計(jì)算概述

  云計(jì)算已經(jīng)成為當(dāng)前全社會(huì)關(guān)注的熱點(diǎn),被看著繼個(gè)人計(jì)算機(jī)變革和互聯(lián)網(wǎng)變革后的第三次IT浪潮。云計(jì)算的出現(xiàn)可以上溯到上世紀(jì)60年代,麥卡錫曾經(jīng)提出將計(jì)算能力作為一種和水電一樣的公用事業(yè)提供給用戶的理念,這可以算作云計(jì)算思想的起源。隨著IT計(jì)算的發(fā)展,在網(wǎng)格計(jì)算、虛擬化技術(shù)、SOA、SaaS等技術(shù)的支撐下,云計(jì)算作為一種新的資源使用和交付模式,逐漸的得到認(rèn)可和推廣。

  對(duì)于眾多IT廠商來(lái)說(shuō),云計(jì)算更多的是一種營(yíng)銷傘。目前被廣泛認(rèn)可的云計(jì)算的定義是美國(guó)國(guó)家標(biāo)注與技術(shù)研究院對(duì)云計(jì)算的定義:云計(jì)算是一種按使用量付費(fèi)的模式,這種模式提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問(wèn),進(jìn)入可配置的計(jì)算資源共享池(資源包括網(wǎng)絡(luò),服務(wù)器,存儲(chǔ),應(yīng)用軟件,服務(wù)),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務(wù)供應(yīng)商進(jìn)行很少的交互。

  云計(jì)算主要有資源配置自動(dòng)化、需求服務(wù)自動(dòng)化、以網(wǎng)絡(luò)為中心、服務(wù)可記量化以及資源的池化和透明化等特點(diǎn)。

  鑒于云計(jì)算的各種特點(diǎn),近年來(lái)國(guó)內(nèi)外各知名IT企業(yè)都在大力開(kāi)發(fā)和推進(jìn)云計(jì)算,如Google推出Google Apps服務(wù),亞馬遜推遲彈性計(jì)算云(EC2)服務(wù),IBM推出“藍(lán)云”計(jì)劃,國(guó)內(nèi)浪潮推出面向云計(jì)算的“云?!辈僮飨到y(tǒng)。

  2.云數(shù)據(jù)庫(kù)

  2.1 數(shù)據(jù)庫(kù)概述

  信息系統(tǒng)都需要對(duì)各種數(shù)據(jù)進(jìn)行計(jì)算,然后存放在數(shù)據(jù)庫(kù)系統(tǒng)中。云計(jì)算系統(tǒng)同樣如此,在云計(jì)算中,可以把數(shù)據(jù)庫(kù)簡(jiǎn)單的劃分為三種:傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù),NoSql數(shù)據(jù)庫(kù)和云數(shù)據(jù)庫(kù)(DBaaS)。

  傳統(tǒng)數(shù)據(jù)庫(kù)主要是關(guān)系型數(shù)據(jù)庫(kù),有商用和開(kāi)源兩種。商用關(guān)系型數(shù)據(jù)庫(kù)經(jīng)過(guò)多年的發(fā)展,已經(jīng)非常的穩(wěn)定可靠,諸如oracle、sql server等,但價(jià)格比較昂貴。開(kāi)源數(shù)據(jù)庫(kù)在穩(wěn)定性方便不及商用數(shù)據(jù)庫(kù),但在價(jià)格方面有較大優(yōu)勢(shì),如mysql、postgresql等開(kāi)源數(shù)據(jù)庫(kù)在業(yè)界也有廣泛的應(yīng)用。對(duì)于傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù),在高并發(fā)和海量數(shù)據(jù)的情況下,對(duì)數(shù)據(jù)庫(kù)配置管理以及應(yīng)用系統(tǒng)的開(kāi)發(fā),都有較高要求,在維護(hù)成本和維護(hù)人員方面需求較高。對(duì)于很多中小型企業(yè),這方面的費(fèi)用過(guò)于昂貴。

  NoSql是Carlo Strozzi開(kāi)發(fā)的一個(gè)輕量、開(kāi)源、不提供SQL功能的數(shù)據(jù)庫(kù),有時(shí)也稱作Not Only SQL的簡(jiǎn)寫(xiě),是對(duì)不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理系統(tǒng)的統(tǒng)稱。NoSql數(shù)據(jù)庫(kù)和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)存在很多不同點(diǎn),最重要的一個(gè)是NoSql不使用SQL作為查詢語(yǔ)言。NoSql的結(jié)構(gòu)通常提供弱一致性的保證,如最終一致性,或者僅限于單個(gè)的數(shù)據(jù)項(xiàng)。但多數(shù)NoSql系統(tǒng)都部署了分布式結(jié)構(gòu),使用分散式雜湊表將數(shù)據(jù)以冗余的方式保存在多臺(tái)服務(wù)器上,以此提供了高可用性和高擴(kuò)展性。

  而云數(shù)據(jù)庫(kù)通常是指運(yùn)行在云計(jì)算平臺(tái)上的數(shù)據(jù)庫(kù)系統(tǒng)。是指在SaaS模式下發(fā)展起來(lái)的一種云計(jì)算技術(shù),是一種基于云的數(shù)據(jù)存儲(chǔ),提供數(shù)據(jù)的變更、查詢、計(jì)算服務(wù),對(duì)應(yīng)用程序而言只需要提交一個(gè)數(shù)據(jù)庫(kù)連接字符串即可訪問(wèn)的服務(wù),且云數(shù)據(jù)庫(kù)的用戶不能直接控制運(yùn)行原始數(shù)據(jù)庫(kù)的主機(jī)。它增強(qiáng)了數(shù)據(jù)庫(kù)的管理及運(yùn)維能力,同時(shí)消除了用戶、硬件和軟件的重復(fù)配置,并且虛擬化了許多后端的功能,使軟硬件的升級(jí)變的更容易和簡(jiǎn)單。

  2.2 云數(shù)據(jù)庫(kù)的現(xiàn)狀

  根據(jù)IDC的研究報(bào)告,企業(yè)對(duì)結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)每年都有很大的增加,而對(duì)非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)需求增加的更快更多,小規(guī)模的應(yīng)用,系統(tǒng)負(fù)載變化可以由系統(tǒng)的空閑資源來(lái)進(jìn)行處理,但在大規(guī)模應(yīng)用的情況下,存在海量的數(shù)據(jù)存儲(chǔ)需求,而且應(yīng)用對(duì)資源的需求也是動(dòng)態(tài)變化的,這就意味著大量虛擬服務(wù)器的增加和減少,對(duì)于這樣情況,傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)已經(jīng)無(wú)法滿足這些需求,云數(shù)據(jù)庫(kù)成了必然的選擇,也就是說(shuō),海量數(shù)據(jù)存儲(chǔ)催生了云數(shù)據(jù)庫(kù),并推動(dòng)他不斷向前發(fā)展。

  隨著云計(jì)算的興起,有眾多的IT公司都參與了云數(shù)據(jù)庫(kù)的開(kāi)發(fā),雖然在DBaaS中仍存在許多問(wèn)題,尤其是關(guān)于存儲(chǔ)在云的敏感信息,以及服務(wù)中斷的問(wèn)題,還有包括向云端數(shù)據(jù)庫(kù)遷移困難,沒(méi)有足夠成熟的案例等問(wèn)題,不過(guò),云數(shù)據(jù)庫(kù)和工具這一新興市場(chǎng)仍在加速發(fā)展中,云數(shù)據(jù)庫(kù)仍然是未來(lái)發(fā)展的大勢(shì)。

  目前云數(shù)據(jù)庫(kù)市場(chǎng)上主要有Google的Bigtable和Amazon的SimpleDB,10G也開(kāi)發(fā)了自己的MongoDB,微軟利用其SQL Server技術(shù)研發(fā)的Azure,以及甲骨文的開(kāi)源的BekelyDB等新型開(kāi)源數(shù)據(jù)庫(kù)。但是Google和Amazon幾乎占領(lǐng)了整個(gè)市場(chǎng)。



  2.3 云數(shù)據(jù)庫(kù)的特點(diǎn)

  云數(shù)據(jù)庫(kù)與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)存在著根本的不同,云數(shù)據(jù)庫(kù)主要對(duì)分布的、海量的數(shù)據(jù)進(jìn)行存儲(chǔ),必須能夠高效的管理大量的數(shù)據(jù)。相比傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù),云數(shù)據(jù)庫(kù)具有以下幾個(gè)特點(diǎn):

  1) 動(dòng)態(tài)可擴(kuò)展

  因?yàn)槊媾R出來(lái)海量數(shù)據(jù)的需求,從理論上來(lái)說(shuō),云數(shù)據(jù)庫(kù)具有無(wú)限可擴(kuò)展性,以滿足不斷增長(zhǎng)的數(shù)據(jù)存儲(chǔ)需求。在面對(duì)不斷變化的需求時(shí),云數(shù)據(jù)庫(kù)能表現(xiàn)出更好的彈性。如需要分配額外的數(shù)據(jù)庫(kù)存儲(chǔ)資源來(lái)處理一些新增加的需求,在云數(shù)據(jù)庫(kù)中這個(gè)過(guò)程只需幾分鐘,當(dāng)需求降低的時(shí)候,也可以很方便的釋放這些資源。

  2) 高可用性

  對(duì)云數(shù)據(jù)庫(kù)來(lái)說(shuō),不存在單點(diǎn)失效的問(wèn)題,如果某一個(gè)節(jié)點(diǎn)失效,剩余的節(jié)點(diǎn)就會(huì)接管該節(jié)點(diǎn)未完成的事務(wù)。而且在云數(shù)據(jù)庫(kù)中,通常數(shù)據(jù)都是復(fù)制的,在地理分布上也是如此。各大型云計(jì)算服務(wù)提供商如Google、Amazon和IBM等都有分布在全球范圍內(nèi)的數(shù)據(jù)中心,通過(guò)在不同地理空間進(jìn)行數(shù)據(jù)復(fù)制,可以提供高水平的容錯(cuò)能力。

  3) 使用代價(jià)較低

  云數(shù)據(jù)庫(kù)通常是采用多租戶(multi-tenancy)的形式,這種資源共享的方式對(duì)于用戶來(lái)說(shuō),可以節(jié)省很多的開(kāi)銷,而且采用按需付費(fèi)的方式來(lái)使用云計(jì)算環(huán)境下的各種軟硬件資源,不會(huì)產(chǎn)生各種不必要的資源浪費(fèi)。同時(shí),云數(shù)據(jù)庫(kù)的底層存儲(chǔ)通常是采用大量廉價(jià)的商業(yè)服務(wù)器,可以更一步降低成本。

  4) 易用性

  云數(shù)據(jù)庫(kù)對(duì)用戶隱藏了底層的所有信息,所有的底層信息對(duì)用戶程序來(lái)說(shuō)都是絕對(duì)透明的。云數(shù)據(jù)庫(kù)的用戶不用控制運(yùn)行原始數(shù)據(jù)庫(kù)的服務(wù)器,也不必了解其他任何信息,只需要一個(gè)有效的鏈接字符串就可以方便的使用云數(shù)據(jù)庫(kù)。使用云數(shù)據(jù)庫(kù)的服務(wù),如數(shù)據(jù)庫(kù)的管理維護(hù)、備份、監(jiān)控、服務(wù)器優(yōu)化等日常工作,數(shù)據(jù)庫(kù)主機(jī)的維護(hù)管理等工作都將由云數(shù)據(jù)庫(kù)平臺(tái)的自動(dòng)化工具來(lái)完成,用戶可以將時(shí)間和精力都花費(fèi)在用戶程序的優(yōu)化和管理上面。

  5) 支持大規(guī)模的并行處理

  在云計(jì)算系統(tǒng)中,由于處理的是海量的數(shù)據(jù),為了效率和有效的使用云計(jì)算系統(tǒng)的所有資源,數(shù)據(jù)庫(kù)必須能夠支持大規(guī)模的并行運(yùn)算。而對(duì)于用戶來(lái)說(shuō),他們看到的數(shù)據(jù)庫(kù)只是一個(gè)虛擬的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)管理平臺(tái)會(huì)根據(jù)策略把用戶的數(shù)據(jù)進(jìn)行分拆存儲(chǔ)到不同的物理主機(jī)或者虛擬機(jī)上,因此云數(shù)據(jù)能夠有效的提供大規(guī)模的并行處理的服務(wù)。

  3.實(shí)例研究

  下面以Google的云數(shù)據(jù)庫(kù)產(chǎn)品為例,介紹云數(shù)據(jù)庫(kù)的實(shí)現(xiàn)和使用。Google研發(fā)的大規(guī)模數(shù)據(jù)庫(kù)系統(tǒng)Google BigTable[8]只能滿足弱一致性要求,它設(shè)計(jì)的目的是為了出來(lái)Google內(nèi)部的海量的格式化和半格式化數(shù)據(jù)。它允許客戶端進(jìn)行數(shù)據(jù)部署以及對(duì)格式進(jìn)行動(dòng)態(tài)的控制。

  BigTable的實(shí)現(xiàn)是構(gòu)建在Google其他幾個(gè)基礎(chǔ)設(shè)施之上的,它使用了Google的分布式文件系統(tǒng)GFS存儲(chǔ)數(shù)據(jù)和日志文件,它還依賴一個(gè)持久性的、高可用的分布式鎖服務(wù)Chubby,最后它還要依靠簇管理系統(tǒng)來(lái)調(diào)度作業(yè)、調(diào)度共享服務(wù)器上面的資源、處理服務(wù)器故障和監(jiān)控服務(wù)器的狀態(tài)。

  BigTable提供了一個(gè)和以往不同的簡(jiǎn)單動(dòng)態(tài)的非關(guān)系型數(shù)據(jù)模型,采用的是鍵/值數(shù)據(jù)模型。一個(gè)BigTable實(shí)際上就可以看作一個(gè)永久的分布式的稀疏的多維排序圖,采用row key、column key及timestamp來(lái)對(duì)該圖進(jìn)行索引,其中每個(gè)值都是一個(gè)未經(jīng)解釋的字節(jié)數(shù)組。

  在BigTable中,行列和時(shí)間戳都是保存在表格的單元里,然后里面的內(nèi)容按行劃分,多個(gè)行組成一個(gè)tablet(小表),然后被保存到一個(gè)服務(wù)器節(jié)點(diǎn)中。在一個(gè)數(shù)據(jù)簇中,存儲(chǔ)有許多表,而沒(méi)個(gè)表都是一個(gè)tablet集合。在最初,一個(gè)表只有一個(gè)table,隨著表的增長(zhǎng),會(huì)分解成多個(gè)tablet,系統(tǒng)使用類似于B+樹(shù)的一個(gè)3層的架構(gòu)來(lái)存儲(chǔ)這些tablet的信息。因?yàn)橄到y(tǒng)采用了鍵/值數(shù)據(jù)模型,表之間不存在關(guān)聯(lián)操作,使得數(shù)據(jù)的分區(qū)操作相對(duì)比較簡(jiǎn)單。

  在BigTable的訪問(wèn)數(shù)據(jù),首先是由客戶端向管理器獲取一份分區(qū)映射圖,然后再圖中根據(jù)鍵值搜尋數(shù)據(jù)的存儲(chǔ)位置,然后向改數(shù)據(jù)節(jié)點(diǎn)請(qǐng)求數(shù)據(jù),最后由改節(jié)點(diǎn)向客戶端返回相應(yīng)的數(shù)據(jù)。在實(shí)際應(yīng)用中,為了提升性能,也是為了緩解在管理器端的性能瓶頸,客戶端通常會(huì)緩存一份常用的分區(qū)映射圖。

  4.總結(jié)及未來(lái)展望

  云數(shù)據(jù)庫(kù)隨著云計(jì)算技術(shù)的發(fā)展,越來(lái)越受到業(yè)界的關(guān)注,當(dāng)前,很多IT公司都參與到云計(jì)算當(dāng)中來(lái),云數(shù)據(jù)庫(kù)的影響也日趨擴(kuò)大,主要體現(xiàn)在以下幾個(gè)方面,包括改變了很多企業(yè)的數(shù)據(jù)管理的方式,促使數(shù)據(jù)庫(kù)技術(shù)的發(fā)展,重新分配數(shù)據(jù)庫(kù)市場(chǎng)的份額等。

  隨著市場(chǎng)的發(fā)展,以及云數(shù)據(jù)庫(kù)的成熟,云數(shù)據(jù)庫(kù)在未來(lái)一段時(shí)間是數(shù)據(jù)庫(kù)技術(shù)的發(fā)展趨勢(shì),云數(shù)據(jù)庫(kù)的相關(guān)問(wèn)題也是將來(lái)數(shù)據(jù)庫(kù)研究的重點(diǎn)內(nèi)容。

來(lái)源:CIO時(shí)代網(wǎng)



  版權(quán)及免責(zé)聲明:凡本網(wǎng)所屬版權(quán)作品,轉(zhuǎn)載時(shí)須獲得授權(quán)并注明來(lái)源“中國(guó)產(chǎn)業(yè)經(jīng)濟(jì)信息網(wǎng)”,違者本網(wǎng)將保留追究其相關(guān)法律責(zé)任的權(quán)力。凡轉(zhuǎn)載文章,不代表本網(wǎng)觀點(diǎn)和立場(chǎng)。版權(quán)事宜請(qǐng)聯(lián)系:010-65363056。

延伸閱讀

熱點(diǎn)視頻

第六屆中國(guó)報(bào)業(yè)黨建工作座談會(huì)(1) 第六屆中國(guó)報(bào)業(yè)黨建工作座談會(huì)(1)

熱點(diǎn)新聞

熱點(diǎn)輿情

特色小鎮(zhèn)

版權(quán)所有:中國(guó)產(chǎn)業(yè)經(jīng)濟(jì)信息網(wǎng)京ICP備11041399號(hào)-2京公網(wǎng)安備11010502003583