版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第6章云計算數(shù)據(jù)庫的研究6.1云計算數(shù)據(jù)庫6.2云計算數(shù)據(jù)庫的關(guān)鍵技術(shù)及實現(xiàn) 過程中要解決的基本問題6.3關(guān)系型數(shù)據(jù)庫與NoSQL數(shù)據(jù)庫6.4云數(shù)據(jù)庫的安全6.5云數(shù)據(jù)庫的發(fā)展趨勢6.6小結(jié)
6.1云計算數(shù)據(jù)庫
6.1.1云計算數(shù)據(jù)庫的研究現(xiàn)狀
國內(nèi)現(xiàn)有的與數(shù)據(jù)庫相關(guān)的云計算研究工作也都處于起步階段。Google、百度、新浪、騰訊、盛大等眾多已經(jīng)有著豐富數(shù)據(jù)資源或計算資源的互聯(lián)網(wǎng)企業(yè)將會走在云計算浪潮的前列,除了安全性、帶寬、軟/硬件資源管理等技術(shù)因素外,他們面臨的最大挑戰(zhàn)是盡快尋找到或者創(chuàng)造出新的基于云計算的用戶需求。例如,上海超級計算中心作為國內(nèi)首家也是唯一一家面向公眾開發(fā)的公共計算服務(wù)平臺,已經(jīng)通過網(wǎng)絡(luò)為各個應(yīng)用領(lǐng)域的用戶提供計算服務(wù)。對這類數(shù)據(jù)或計算中心,云計算時代面臨的主要挑戰(zhàn)同樣是拓寬與尋找新的服務(wù)領(lǐng)域和服務(wù)內(nèi)容。
6.1.2云計算數(shù)據(jù)庫的基本思想
這里提出的云計算數(shù)據(jù)庫是一個面向云計算的數(shù)據(jù)庫資源管理平臺,旨在為現(xiàn)有大量位于Internet后臺的數(shù)據(jù)庫資源的共享提供一個云計算接入環(huán)境,為云計算應(yīng)用提供基礎(chǔ)結(jié)構(gòu)級的數(shù)據(jù)庫資源訪問、發(fā)現(xiàn)、整合等一系列問題的通用解決方案。
云計算數(shù)據(jù)庫探討的問題涉及了包括數(shù)據(jù)庫管理系統(tǒng)、分布式數(shù)據(jù)庫以及語義Web在內(nèi)的多個相關(guān)領(lǐng)域的研究。云計算數(shù)據(jù)庫采納了這些領(lǐng)域的一些思想、方法和技術(shù),但是在研究方向和內(nèi)容上又有所不同。云計算數(shù)據(jù)庫的研究重點不在于如何提高數(shù)據(jù)庫系統(tǒng)本身的性能或功能問題,而在于如何基于現(xiàn)有數(shù)據(jù)庫管理系統(tǒng),將數(shù)據(jù)庫作為基本的數(shù)據(jù)管理單元并入云計算環(huán)境,使其能夠被云計算應(yīng)用有序地訪問和協(xié)同地調(diào)用,即如何建立數(shù)據(jù)庫資源在云計算上的共享規(guī)則。因此,云計算數(shù)據(jù)庫的目標(biāo)是要成為云計算平臺的一個組成部分,它的本質(zhì)是位于數(shù)據(jù)庫管理系統(tǒng)和云計算數(shù)據(jù)庫用戶之間的一層中間件。6.2云計算數(shù)據(jù)庫的關(guān)鍵技術(shù)及實現(xiàn)過程中
要解決的基本問題
1.關(guān)鍵技術(shù)
1)數(shù)據(jù)存儲技術(shù)
為保證高可用、高可靠和經(jīng)濟性,云計算采用分布式存儲的方式來存儲數(shù)據(jù),采用冗余存儲的方式來保證存儲數(shù)據(jù)的可靠性。另外,云計算系統(tǒng)需要同時滿足大量用戶的需求,并行地為大量用戶提供服務(wù),因此云計算的數(shù)據(jù)存儲技術(shù)必須具有高吞吐量和高傳輸率的特點。未來的發(fā)展將集中在超大規(guī)模的數(shù)據(jù)存儲、數(shù)據(jù)加密和安全性保證以及繼續(xù)提高I/O速率等方面。為了滿足云計算的分布式存儲方式,同時保證數(shù)據(jù)可靠性和高吞吐率以及高傳輸率的需求,目前各IT廠商多采用GFS或HDFS的數(shù)據(jù)存儲技術(shù)。
2)數(shù)據(jù)管理技術(shù)
云計算系統(tǒng)對大數(shù)據(jù)集進行處理、分析,向用戶提供高效的服務(wù)。因此,數(shù)據(jù)管理技術(shù)必須能夠高效地管理大數(shù)據(jù)集,同時必須在規(guī)模巨大的數(shù)據(jù)中找到特定的數(shù)據(jù)。云計算的特點是對讀取后的海量的數(shù)據(jù)存儲進行大量的分析,數(shù)據(jù)的讀操作頻率遠大于數(shù)據(jù)的更新頻率,云中的數(shù)據(jù)管理是一種讀優(yōu)化的數(shù)據(jù)管理。由于云計算采用列存儲的方式管理數(shù)據(jù),因此如何提高數(shù)據(jù)的更新速率以及進一步提高隨機讀速率是未來的數(shù)據(jù)管理技術(shù)必須解決的問題。為了滿足云計算的大規(guī)模數(shù)據(jù)集管理以及高效的數(shù)據(jù)定位需求,谷歌采用BigTable的數(shù)據(jù)管理技術(shù)。在各大IT廠商的支持下,Hadoop稱得上是開源創(chuàng)新領(lǐng)域的杰出典范。
3)數(shù)據(jù)安全技術(shù)
網(wǎng)絡(luò)技術(shù)的發(fā)展使得帶寬不會成為主要障礙,安全性依舊是最重要的顧慮。將保存在本地、為自己所掌控的數(shù)據(jù)交給一個外部的云計算存儲服務(wù)中心,這樣一個改變讓人不得不考慮數(shù)據(jù)的安全和保密問題。“云安全”作為云計算技術(shù)的一種應(yīng)用,其實質(zhì)是通過安全廠商自建的數(shù)據(jù)中心這個“云”與客戶端相互合作,共同對用戶訪問的Web內(nèi)容進行防護,通過“云”對互聯(lián)網(wǎng)進行掃描,對有毒的網(wǎng)頁進行標(biāo)記。其具體操作流程是:用戶在訪問網(wǎng)頁之前,先與“云”取得聯(lián)系,如果網(wǎng)頁安全就順利訪問,否則就終止行為。
2.實現(xiàn)過程中必須要解決的基本問題
1)云計算數(shù)據(jù)庫資源發(fā)現(xiàn)
在云計算開發(fā)環(huán)境下,大量云計算數(shù)據(jù)庫資源共存且完全獨立于應(yīng)用。云計算數(shù)據(jù)庫對外界發(fā)布共享的數(shù)據(jù),應(yīng)用要找到合適的數(shù)據(jù)源依賴于一套資源注冊和發(fā)現(xiàn)機制,這也是云計算為所有類型資源提供的一個共有的基本功能。
2)云計算數(shù)據(jù)融合
面對多個異質(zhì)、分布、自治的數(shù)據(jù)資源,需要對其進行整合,形成一個統(tǒng)一的數(shù)據(jù)視圖,或者稱為虛擬數(shù)據(jù)庫。
3)云計算海量數(shù)據(jù)處理
大量科學(xué)型的研究應(yīng)用是數(shù)據(jù)密集型的,在其運行過程中會產(chǎn)生海量數(shù)據(jù),這就需要數(shù)據(jù)庫盡可能保證數(shù)據(jù)的安全性和存取的效率。
4)容錯性控制
云計算環(huán)境下的數(shù)據(jù)庫訪問連接,受到網(wǎng)絡(luò)、站點局部控制與突發(fā)事件等因素的制約,因此云計算必須負責(zé)實時監(jiān)控數(shù)據(jù)庫狀態(tài),處理異常情況,保證數(shù)據(jù)操作的正確性和效率。
6.3關(guān)系型數(shù)據(jù)庫與NoSQL數(shù)據(jù)庫
6.3.1關(guān)系型數(shù)據(jù)庫的劣勢
隨著Web2.0的發(fā)展,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在應(yīng)對超大規(guī)模和高并發(fā)的SNS類型的網(wǎng)站方面暴露了許多難以克服的問題,主要表現(xiàn)為以下幾點:
(1)高并發(fā)讀/寫速度慢。這種情況主要發(fā)生在數(shù)據(jù)量達到一定規(guī)模時,由于關(guān)系型數(shù)據(jù)庫的系統(tǒng)邏輯非常復(fù)雜,容易發(fā)生死鎖等并發(fā)問題,從而導(dǎo)致其讀/寫速度下降。例如,Web2.0網(wǎng)站要根據(jù)用戶個性化信息來實時生成動態(tài)頁面、提供動態(tài)信息,所以基本上無法使用動態(tài)頁面靜態(tài)化技術(shù),因此數(shù)據(jù)庫并發(fā)負載非常高,往往要求達到每秒上萬次讀/寫請求。關(guān)系型數(shù)據(jù)庫勉強可以應(yīng)付上萬次的SQL查詢,但硬盤I/O往往無法承擔(dān)上萬次的SQL寫數(shù)據(jù)請求。
(2)支撐容量有限。類似Facebook、Twitter這樣的SNS網(wǎng)站,每天產(chǎn)生海量的用戶動態(tài),每月會產(chǎn)生幾億條用戶動態(tài),對于關(guān)系型數(shù)據(jù)庫來說,在一張數(shù)億條記錄的表里面進行SQL查詢,效率是極低的。
(3)擴展性差。在基于Web的架構(gòu)中,數(shù)據(jù)庫是最難進行橫向擴展的。當(dāng)一個應(yīng)用系統(tǒng)的用戶量和訪問量與日俱增的時候,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫沒有辦法像WebServer那樣通過簡單地添加更多的硬件和服務(wù)器節(jié)點來擴展性能和負載能力。對于不間斷提供服務(wù)的網(wǎng)絡(luò)來說,對數(shù)據(jù)庫系統(tǒng)進行升級和擴展是非常痛苦的事情,往往需要停機維護和數(shù)據(jù)遷移,因此迫切需要關(guān)系型數(shù)據(jù)庫能夠通過不斷添加服務(wù)器節(jié)點來實現(xiàn)擴展。(4)建設(shè)和運維成本高。企業(yè)級數(shù)據(jù)庫的價格很高,并且隨著系統(tǒng)的規(guī)模增大而不斷上升。高昂的建設(shè)和運維成本無法滿足云計算應(yīng)用對數(shù)據(jù)庫的需求。
關(guān)系型數(shù)據(jù)庫遇到了上述難以克服的瓶頸,與此同時,它的很多主要特性在云計算應(yīng)用中也無用武之地,例如,數(shù)據(jù)庫事務(wù)一致性、數(shù)據(jù)庫的寫實時性和讀實時性,復(fù)雜的SQL查詢特別是多表關(guān)聯(lián)查詢。因此,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已經(jīng)無法獨立應(yīng)付云計算時代的各種應(yīng)用。6.3.2
NoSQL數(shù)據(jù)庫數(shù)據(jù)模型
關(guān)系型數(shù)據(jù)庫越來越無法滿足云計算的應(yīng)用場景,為了解決此類問題,非關(guān)系型數(shù)據(jù)庫應(yīng)運而生。由于在設(shè)計上和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫相比有了很大的不同,所以非關(guān)系型數(shù)據(jù)庫被稱為NoSQL(NotonlySQL)數(shù)據(jù)庫。與關(guān)系型數(shù)據(jù)庫相比,NoSQL更關(guān)注對數(shù)據(jù)高并發(fā)讀/寫和海量數(shù)據(jù)的存儲,在架構(gòu)和數(shù)據(jù)模型方面做了簡化,而在擴展和并發(fā)等方面做了增強。目前,主流的NoSQL數(shù)據(jù)庫包括BigTable、HBase、Cassandra、SimpleDB、CouchDB、MongoDB與Redis等。NoSQL常用數(shù)據(jù)模型如下:
1.Columnoriented(列式)
列式主要適用于Table這樣的模型,但是它并不支持類似Join這樣多表的操作。列式的特點是在存儲數(shù)據(jù)時,主要圍繞著“列”,而不是像傳統(tǒng)的關(guān)系型數(shù)據(jù)庫那樣根據(jù)“行(row)”進行存儲。也就是說,屬于同一列的數(shù)據(jù)會盡可能地存儲在硬盤的同一頁中,而不是將屬于同一個行的數(shù)據(jù)存儲在一起。這樣做的好處是,對于很多類似數(shù)據(jù)倉庫的應(yīng)用,雖然每次查詢都會處理很多數(shù)據(jù),但是每次所涉及的列并沒有很多。使用列式數(shù)據(jù)庫,將會節(jié)省大量I/O,并且大多數(shù)列式數(shù)據(jù)庫都支持ColumnFamily這個特性,能將多個列并為一個小組,提高這些列的存儲和查詢效率??傮w而言,列式數(shù)據(jù)模型的優(yōu)點是比較適合匯總和數(shù)據(jù)倉庫這類應(yīng)用。
2.Keyvalue(鍵值)
雖然Keyvalue這種模型和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫相比較為簡單,有點類似常見的HashTable,一個Key對應(yīng)一個value,但是它能提供非常快的查詢速度、大的數(shù)據(jù)存放量和高并發(fā)操作,非常適合通過主鍵對數(shù)據(jù)進行查詢和修改等操作,雖然不支持復(fù)雜的操作,但是可以通過上層的開發(fā)來彌補這個缺陷。
3.Document(文檔)
在結(jié)構(gòu)上,Document和Keyvalue是非常相似的,也是一個Key對應(yīng)一個value,但是這個value主要以JSON或者XML等格式的文檔來進行存儲,是有語義的,并且DocumentDB一般可以對value創(chuàng)建SecondaryIndex,方便上層的應(yīng)用,而這點是普通的KeyvalueDB所無法支持的。6.3.3
NoSQL數(shù)據(jù)庫的優(yōu)劣勢分析
下面從設(shè)計理念、數(shù)據(jù)模式、分布式等幾個角度對BigTable、Cassandra、Redis與MongoDB進行比較,見表6-1。
表6-1主要NoSQL數(shù)據(jù)庫之間的比較
1.優(yōu)勢
NoSQL數(shù)據(jù)庫主要有以下幾個優(yōu)勢:
(1)擴展簡單。例如Cassandra,由于其架構(gòu)類似于經(jīng)典的P2P,因此能夠通過簡單添加新的節(jié)點來擴展集群。
(2)讀/寫快速。例如Redis,由于其邏輯簡單,純內(nèi)存操作,因此具有非常出色的性能,單節(jié)點每秒可以處理超過10萬次的讀/寫操作。
(3)成本低廉。因為大多數(shù)NoSQL數(shù)據(jù)庫都是開源軟件,所以沒有昂貴的成本限制。
2.劣勢
NoSQL數(shù)據(jù)庫雖然具有很多顯著的優(yōu)勢,但依然存在很多不足,主要表現(xiàn)在以下幾個方面:
(1)不提供對SQL的支持。這會對用戶產(chǎn)生一定的應(yīng)用遷移成本,同時無法實現(xiàn)組合應(yīng)用并發(fā)揮SQL數(shù)據(jù)庫已經(jīng)非常成熟的優(yōu)勢。
(2)支持的特性不夠豐富?,F(xiàn)有NoSQL數(shù)據(jù)庫提供的功能十分有限,大多數(shù)都不支持事務(wù)和其他附加功能。
(3)產(chǎn)品不夠成熟。大多數(shù)NoSQL數(shù)據(jù)庫產(chǎn)品還處于初級階段,與已經(jīng)非常完善成熟的關(guān)系型數(shù)據(jù)庫不可同日而語。
6.4云數(shù)據(jù)庫的安全
信息安全技術(shù)雖然越來越完善,但數(shù)據(jù)庫安全面臨的挑戰(zhàn)越來越多,如數(shù)據(jù)品質(zhì)和完整性?;ヂ?lián)網(wǎng)增加了人們對于網(wǎng)絡(luò)的依賴,但是人們無法確定網(wǎng)絡(luò)數(shù)據(jù)的品質(zhì)和完整性。而且,移動用戶訪問控制和隱私問題也被暴露。移動設(shè)備、傳感器網(wǎng)絡(luò)促使數(shù)字化生活隨時隨地成為了可能,但是人們發(fā)現(xiàn)自己已經(jīng)不知不覺地生活在了一個暴露一切數(shù)據(jù)的環(huán)境中,用戶的賬號、信用憑證、權(quán)限、計劃和瀏覽記錄等均是如此。如何管理與使用這些數(shù)據(jù)和確保訪問控制的真實性、權(quán)威性等方面面臨著前所未有的挑戰(zhàn)。數(shù)據(jù)庫的可存活性也不容忽視??纱婊钚砸馕吨到y(tǒng)在遭受攻擊或產(chǎn)生錯誤的時候能繼續(xù)提供核心服務(wù)并及時回復(fù)全部的服務(wù)。目前還沒有標(biāo)準(zhǔn)的云數(shù)據(jù)庫安全標(biāo)準(zhǔn)體系,因此用戶對云數(shù)據(jù)庫的安全較為關(guān)心。
較為完善的云服務(wù)商業(yè)模式應(yīng)該是大多數(shù)云服務(wù)提供商自身就是內(nèi)容供應(yīng)商,公司有條件把主要業(yè)務(wù)完全遷移至公共端,但是實施的公司很少且很困難。這可能會限制云計算和云數(shù)據(jù)庫的發(fā)展。因此創(chuàng)建和實行一個完善的能保證安全體系的結(jié)構(gòu)對于云數(shù)據(jù)庫技術(shù)將來的發(fā)展至關(guān)重要。
6.5云數(shù)據(jù)庫的發(fā)展趨勢
隨著云的興起,非關(guān)系型數(shù)據(jù)庫成了一個極其熱門的新領(lǐng)域,非關(guān)系型數(shù)據(jù)庫產(chǎn)品的發(fā)展非常迅速。而傳統(tǒng)的關(guān)系型數(shù)據(jù)庫顯得力不從心,暴露了很多難以克服的問題,它所存在的許多規(guī)則束縛了數(shù)據(jù)庫系統(tǒng)的開發(fā),而在云端需要的是一個真正強大的、能讓多臺計算機一起運行的數(shù)據(jù)庫系統(tǒng),可保存所有用戶的所有數(shù)據(jù)。作為云數(shù)據(jù)庫,就其自身所持有的易擴展、易配置以及根據(jù)負載特性和資源狀況進行自我優(yōu)化的特征,非關(guān)系型數(shù)據(jù)庫正在吸引人們的注意。因為關(guān)系型數(shù)據(jù)庫本身所存在的不足以及不易擴展,在應(yīng)用中需要配合Join操作,而Join操作不易并行的性質(zhì)使得關(guān)系型數(shù)據(jù)庫很難部署在有大量節(jié)點的ShareNothing集群,這對海量數(shù)據(jù)庫的處理造成不利的局面。
基于云計算的需求,應(yīng)該說NoSQL數(shù)據(jù)庫就是下一代數(shù)據(jù)庫技術(shù),因為其主要特點是非關(guān)系、分布式、水平可擴展,非常配合云計算中的海量數(shù)據(jù)運算。NoSQL數(shù)據(jù)庫具有極高的并發(fā)讀/寫性能,而且在保證海量數(shù)據(jù)存儲的同時,還具有良好的查詢性能和彈性的可擴展能力。另外,并行關(guān)系型數(shù)據(jù)庫也可以考慮。并行關(guān)系型數(shù)據(jù)庫支持ShareNothing集群系統(tǒng),提高了系統(tǒng)的可伸縮性,多用于數(shù)據(jù)分析應(yīng)用中,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人貴金屬交易融資合同范本民間版4篇
- 二零二五年度網(wǎng)絡(luò)安全股份公司成立股東數(shù)據(jù)安全協(xié)議3篇
- 2025版危險品運輸駕駛員勞動合同標(biāo)準(zhǔn)范本3篇
- 2025年高標(biāo)準(zhǔn)圍墻建設(shè)及維護服務(wù)合同細則3篇
- 二零二五年酒類企業(yè)產(chǎn)品追溯與防偽技術(shù)合作合同3篇
- 2024破樁勞務(wù)分包合同
- 2025年食堂承包合同補充協(xié)議強調(diào)食品安全與衛(wèi)生規(guī)范3篇
- 與物業(yè)公司合同范本(2024版)
- 鄭州科技學(xué)院《藝術(shù)考察與創(chuàng)新設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度戶外景觀門窗工程分包合同范本8篇
- 南通市2025屆高三第一次調(diào)研測試(一模)地理試卷(含答案 )
- 2025年上海市閔行區(qū)中考數(shù)學(xué)一模試卷
- 2025中國人民保險集團校園招聘高頻重點提升(共500題)附帶答案詳解
- 勞務(wù)派遣招標(biāo)文件范本
- 信息安全意識培訓(xùn)課件
- Python試題庫(附參考答案)
- 碳排放管理員 (碳排放核查員) 理論知識考核要素細目表三級
- 2024年河北省中考數(shù)學(xué)試題(含答案解析)
- 小學(xué)二年級數(shù)學(xué)口算練習(xí)題1000道
- 納布啡在產(chǎn)科及分娩鎮(zhèn)痛的應(yīng)用
- DZ/T 0462.4-2023 礦產(chǎn)資源“三率”指標(biāo)要求 第4部分:銅等12種有色金屬礦產(chǎn)(正式版)
評論
0/150
提交評論