普星
摘要:在信息化時(shí)代,各類(lèi)信息的采集量和處理量增多,人們更多的是依賴(lài)于網(wǎng)絡(luò),所以,僅僅依靠傳統(tǒng)的存儲(chǔ)技術(shù)順應(yīng)不了時(shí)代的發(fā)展和需求,需要在傳統(tǒng)處理技術(shù)的基礎(chǔ)上建立一種大數(shù)據(jù)存儲(chǔ)技術(shù),確保數(shù)據(jù)存儲(chǔ)能夠滿足人們的需要?;贜oSQL(非關(guān)系數(shù)據(jù)庫(kù))數(shù)據(jù)庫(kù)的大數(shù)據(jù)存儲(chǔ)技術(shù)是一種自由的存儲(chǔ)形式,能夠?qū)崟r(shí)處理所搜集的各類(lèi)信息,在現(xiàn)實(shí)中,便于人們進(jìn)行各類(lèi)工作。該文將基于NoSQL數(shù)據(jù)庫(kù)的大數(shù)據(jù)存儲(chǔ)技術(shù)的角度出發(fā),對(duì)其基本概念進(jìn)行相關(guān)闡釋?zhuān)?duì)其現(xiàn)狀及在今后的應(yīng)用進(jìn)行分析。
關(guān)鍵詞:大數(shù)據(jù)庫(kù);關(guān)系數(shù)據(jù)庫(kù);非關(guān)系數(shù)據(jù)庫(kù);存儲(chǔ)技術(shù)
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)35-8349-02
現(xiàn)如今,各門(mén)戶網(wǎng)站均以互聯(lián)網(wǎng)為基礎(chǔ)而得到發(fā)展,如微博、微信、人人等,互聯(lián)網(wǎng)用戶增加,進(jìn)入了大數(shù)據(jù)時(shí)代?;诖耍藗儗?duì)數(shù)據(jù)存儲(chǔ)的要求越來(lái)越高,希望能夠在之前存儲(chǔ)的基礎(chǔ)上,繼續(xù)增大存儲(chǔ)量。然而,關(guān)系數(shù)據(jù)庫(kù)的發(fā)展并不如人意,發(fā)展速度較為緩慢,直到近幾年才出現(xiàn)非關(guān)系數(shù)據(jù)庫(kù),以解決原來(lái)數(shù)據(jù)庫(kù)中的各種問(wèn)題,并適應(yīng)了人們的需要。作為一項(xiàng)新興技術(shù),非關(guān)系數(shù)據(jù)不僅秉承了關(guān)系數(shù)據(jù)庫(kù)的處理思路,還在此基礎(chǔ)上進(jìn)一步優(yōu)化,簡(jiǎn)化了數(shù)據(jù)庫(kù)的操作,在整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)中,滿足了不同人群的需求。
1 相關(guān)基本概念
非關(guān)系數(shù)據(jù)庫(kù)也即NoSQL,是一種新型的數(shù)據(jù)庫(kù)系統(tǒng),能夠同時(shí)處理海量的數(shù)據(jù),處理能力很強(qiáng),因此而收到歡迎。非關(guān)系數(shù)據(jù)庫(kù)是給予CAP理論和BASE理論上發(fā)展而來(lái)的,CAP理論是非關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)構(gòu)建的基礎(chǔ),具體為一致性、可用性、容忍性,也就是說(shuō),在分布式環(huán)境中設(shè)計(jì)和部署系統(tǒng)所需要考慮的是上述三個(gè)因素;BASE理論由基本可用、軟狀態(tài)、最終一致性組成,強(qiáng)調(diào)的是數(shù)據(jù)庫(kù)的最終一致性。一般情況下,一致性分為強(qiáng)一致性和弱一致性,強(qiáng)一致性要求更新過(guò)的數(shù)據(jù)能被后續(xù)的訪問(wèn)都看到,而弱一致性則指讀取操作能夠見(jiàn)到變化的數(shù)據(jù),不是所有變化的數(shù)據(jù)。最終一致性是一種弱一致性,就是說(shuō)存儲(chǔ)系統(tǒng)在沒(méi)有更新的情況下,所獲得的訪問(wèn)都可以獲得更新,從本質(zhì)上來(lái)說(shuō),BASE理論是CAP理論的延伸。
2 有關(guān)非關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的研究與應(yīng)用
2.1 國(guó)外有關(guān)非關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的研究與應(yīng)用
非關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)起源于國(guó)外的一個(gè)開(kāi)源數(shù)據(jù)庫(kù)產(chǎn)品,在當(dāng)時(shí),該數(shù)據(jù)庫(kù)產(chǎn)品所用來(lái)存儲(chǔ)數(shù)據(jù)的是HASH TABLE,和其他的存儲(chǔ)數(shù)據(jù)相比,該數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu)較為簡(jiǎn)單,所以,很容易被人們所認(rèn)可和使用,這也便是非關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的最初模型。隨著這種存儲(chǔ)結(jié)構(gòu)的不斷發(fā)展,進(jìn)入二十一世紀(jì)以后,互聯(lián)網(wǎng)開(kāi)始進(jìn)入WEB2.0時(shí)代,國(guó)外出現(xiàn)了數(shù)十種不同類(lèi)型的非關(guān)系數(shù)據(jù)庫(kù),主要有基于Key/Value數(shù)據(jù)存儲(chǔ)、基于列/列族的數(shù)據(jù)存儲(chǔ)、面向文檔的數(shù)據(jù)存儲(chǔ)和面向圖的數(shù)據(jù)存儲(chǔ)。基于Key/Value數(shù)據(jù)存儲(chǔ)是一種半結(jié)構(gòu)化數(shù)據(jù)組織形式,對(duì)唯一的Key能夠做到快速定位,但卻不能對(duì)Value的內(nèi)容進(jìn)行檢索;基于列/列族的數(shù)據(jù)存儲(chǔ)使用的是一種以列的方式組織和存儲(chǔ)數(shù)據(jù),在支持動(dòng)態(tài)擴(kuò)展的列的情況下對(duì)原來(lái)的存儲(chǔ)不產(chǎn)生任何影響,具有良好的擴(kuò)展性,但是,由于列的存儲(chǔ)在一般傳統(tǒng)的對(duì)行的訪問(wèn)上會(huì)比較復(fù)雜,不適用于檢索較多的列的操作。面向文檔的數(shù)據(jù)存儲(chǔ)是一種擴(kuò)展的存儲(chǔ),能夠支持列表數(shù)據(jù)結(jié)構(gòu)和嵌套的文檔結(jié)構(gòu),這種數(shù)據(jù)結(jié)構(gòu)非常豐富靈活,但是同時(shí)增大了使用查詢(xún)上的復(fù)雜度。面向圖的數(shù)據(jù)存儲(chǔ)能夠有效避免復(fù)雜的關(guān)聯(lián)操作,該種數(shù)據(jù)存儲(chǔ)主要使用的是借點(diǎn)、邊和屬性來(lái)存儲(chǔ)數(shù)據(jù)的,所以,和其他的數(shù)據(jù)存儲(chǔ)相比,具有速度快等優(yōu)點(diǎn)。
2.2 國(guó)內(nèi)有關(guān)非數(shù)據(jù)庫(kù)系統(tǒng)的研究與應(yīng)用
隨著改革開(kāi)放的不斷深入,我國(guó)開(kāi)始和國(guó)際接軌,并努力適應(yīng)著國(guó)際環(huán)境的發(fā)展而不斷提高自身的信息技術(shù),并廣泛應(yīng)用各類(lèi)數(shù)據(jù)庫(kù)系統(tǒng),而非關(guān)系數(shù)據(jù)庫(kù)便是其中的一種。和關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)不同,非關(guān)系數(shù)據(jù)庫(kù)所面對(duì)的是海量數(shù)據(jù)存儲(chǔ),所以,在存儲(chǔ)過(guò)程中會(huì)用到大量的機(jī)器來(lái)進(jìn)行存儲(chǔ),為了能夠保證所輸入信息的完整性和有用性,通常情況下,會(huì)使用到單節(jié)點(diǎn)數(shù)據(jù)、多節(jié)點(diǎn)數(shù)據(jù)等來(lái)保證輸入機(jī)器的正常運(yùn)轉(zhuǎn)。這主要是因?yàn)閱喂?jié)點(diǎn)數(shù)據(jù)的處理方法是硬件磁盤(pán)RAID冗余存儲(chǔ)保障硬件存儲(chǔ)的可靠性,數(shù)據(jù)實(shí)際寫(xiě)入前保證相關(guān)的重做日志已經(jīng)寫(xiě)入日志文件,這樣重啟后內(nèi)存中的數(shù)據(jù)可以得到恢復(fù)。而多節(jié)點(diǎn)數(shù)據(jù)是指非關(guān)系數(shù)據(jù)庫(kù)能夠在多個(gè)節(jié)點(diǎn)上保存數(shù)據(jù)的副本,所以,即便是服務(wù)器出現(xiàn)故障甚至壞掉的情況下,還會(huì)有備份的數(shù)據(jù)存在,不會(huì)因此而需要重新去找數(shù)據(jù)和重新輸錄。另外,由于非關(guān)系數(shù)據(jù)庫(kù)面對(duì)的資料數(shù)量龐大,要求系統(tǒng)的性能具有較強(qiáng)的擴(kuò)展性,所以,通過(guò)多節(jié)點(diǎn)數(shù)據(jù),能夠支持?jǐn)?shù)據(jù)的再次遷移。
當(dāng)前,隨著互聯(lián)網(wǎng)的不斷發(fā)展,盡管大數(shù)據(jù)的分析技術(shù)在目前還處于起步階段,但云計(jì)算機(jī)作為非關(guān)系數(shù)據(jù)庫(kù)中的一種,普遍在人們的生活中得到應(yīng)用,同時(shí),國(guó)際上在大數(shù)據(jù)存儲(chǔ)方面的就標(biāo)準(zhǔn)化組織也開(kāi)展了相應(yīng)的工作,使其順應(yīng)時(shí)代的潮流。另外,非關(guān)系數(shù)據(jù)庫(kù)的優(yōu)勢(shì)開(kāi)始逐漸顯現(xiàn),盡管其種類(lèi)頗多,但都具有去掉關(guān)系數(shù)據(jù)庫(kù)的關(guān)系型特性,且非關(guān)系數(shù)據(jù)庫(kù)所具有的靈活多變的數(shù)據(jù)模型和較高的可用性等特點(diǎn),在很大程度上彌補(bǔ)了關(guān)系數(shù)據(jù)庫(kù)的不足,同時(shí)還節(jié)省了開(kāi)發(fā)成本的維護(hù)成本。
在大數(shù)據(jù)處理系統(tǒng)中,由Apache基金會(huì)開(kāi)發(fā)的Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)HDFS,其容錯(cuò)性非常高,能部署在低廉的硬件上。HDFS能給用戶提供高吞吐量來(lái)訪問(wèn)應(yīng)用程序的數(shù)據(jù),非常適合于超大數(shù)據(jù)集的大數(shù)據(jù)應(yīng)用。如下圖所示為Hadoop的基本組織框架。從圖中可以明顯看出,Hadoop具有非常強(qiáng)的數(shù)據(jù)處理能力,可以看到NoSQL在數(shù)據(jù)的讀取和處理中所占的地位以及優(yōu)勢(shì)。
2009年8月正式在新浪內(nèi)部運(yùn)行的新浪云計(jì)算平臺(tái)中也有運(yùn)用NoSQL,新浪于2009年11月正式推出的云計(jì)算平臺(tái)是我國(guó)的首個(gè)Alpha版本的云計(jì)算平臺(tái),它是新浪云計(jì)算戰(zhàn)力的核心,如圖2所示為NoSQL在新浪云計(jì)算平臺(tái)中運(yùn)用的示意圖,可以看出,其中的KVDB在存儲(chǔ)服務(wù)上起到至關(guān)重要的作用。
除了以上的幾個(gè)應(yīng)用外,NoSQL在眾所周知的淘寶數(shù)據(jù)架構(gòu)中也有非常廣泛的應(yīng)用。淘寶每天都有巨大的交易和交互數(shù)據(jù)資料,要保證網(wǎng)站運(yùn)行的正常,必須有非常強(qiáng)硬的后臺(tái)組織架構(gòu)設(shè)計(jì)。在淘寶的數(shù)據(jù)處理系統(tǒng)中,其運(yùn)用Hadoop為數(shù)據(jù)處理工具,NOSQL為數(shù)據(jù)存儲(chǔ)介質(zhì),充分發(fā)揮NoSQL在數(shù)據(jù)處理中的優(yōu)勢(shì)。3 結(jié)束語(yǔ)
本篇文章以非關(guān)系數(shù)據(jù)庫(kù)(NoSQL)為基礎(chǔ),對(duì)非關(guān)系數(shù)據(jù)庫(kù)在當(dāng)前的應(yīng)用進(jìn)行簡(jiǎn)單剖析,表明非關(guān)系數(shù)據(jù)庫(kù)是當(dāng)今時(shí)代發(fā)展的要求,其發(fā)展必須和其他最新技術(shù)相結(jié)合,克服傳統(tǒng)數(shù)據(jù)庫(kù)的缺點(diǎn),盡可能提高運(yùn)轉(zhuǎn)速度和存儲(chǔ)量。
參考文獻(xiàn):
[1] 孫中廷.基于NoSQL數(shù)據(jù)庫(kù)的大數(shù)據(jù)存儲(chǔ)技術(shù)的研究與應(yīng)用[J].計(jì)算機(jī)時(shí)代,2014(7).
[2] 陳超,王亮,閆浩文,等.一種基于NoSQL的地圖瓦片數(shù)據(jù)存儲(chǔ)技術(shù)[J].測(cè)繪科學(xué),2013,38(1).
[3] 楊俊生.大數(shù)據(jù)時(shí)代數(shù)據(jù)存儲(chǔ)技術(shù)的發(fā)展[J].電子世界,2014(5).
[4] 張艷霞,豐繼林,郝偉,等.基于NoSQL的文件型大數(shù)據(jù)存儲(chǔ)技術(shù)研究[J].制造業(yè)自動(dòng)化,2014(6).endprint