陳 浩
(東北石油大學,黑龍江大慶,163318)
所謂的云數據庫是指儲存在云中的資源,是在SaaS 應用發展起來的背景下而發展的一種云計算技術。通過該技術可極大的提高當前數據庫的儲存的能力,并減少對軟硬件的重復配置。因此,林子雨等人對云數據庫的定義則是指在云計算的環境中進行部署和虛擬化的數據庫的索引。
而康一梅等人認為,所謂的云數據庫是指由若干個不同的站點組成,這些站點又被稱為節點,他們在云中相互連接起來,并擁有各自的不同的數據庫。因此,可將云數據庫看做是一個統一的集中式的數據庫系統,在邏輯上屬于統一的,但是從物理結構的角度,其實屬于分布的。
而隨著云數據庫的發展,現在比較流行的數據庫有微軟的SQL Azure、谷歌的GFS 分布式文件系統等。而云數據庫存儲和計算體系如圖1 所示。
云數據庫作為建立在SaaS 應用之上的新型云計算技術,而被廣大的計算機愛好者使用,其主要是因為云數據庫與傳統的數據庫相比,具有以下的特性:
通過康一梅等人對云數據庫的表述,則可以認為,云數據庫從理論上來看,是具有無限的擴展性,從而可以滿足不斷增加的數據存儲需求。因此,從上述的分析中,我們可以看出云數據庫具有很好的可擴展的彈性。以360 或者是騰訊的云端存儲為例,如采用原來的硬件作為其個人用戶的存儲工具,則需要很大的硬件儲存設備,而通過云數據庫,其現有的云端存儲能力急劇加大,從而大大提高了個人用戶對網絡云端的存儲的效率。而其網絡云端存儲也在逐步的擴大。

圖1 云計算體系衍生的云存儲體系架構
云數據庫的最大的特點是解決了數據的共享問題。在云數據庫管理中,通過采用多租戶的方式,從而極大的給用戶節約了開支,同時租戶只需要按照每月付費的方式,就可使用云數據庫當中的各種不同的軟件、硬件等資源,并不需要產生其他的額外的費用。而通過林子雨等人對云數據庫的定義,可以看出其大量的數據的存儲是集中在虛擬的硬件之中,因此,通過這種方式可以大量的減少對數據庫使用的成本,從而可大量的減少對與數據庫使用的費用。
在對云數據的使用中,不存在任何的單點失效的問題。如果在使用任何的節點失效,其余的剩下的節點會立即進行接管,并且在運輸局庫當中國,數據一般都是通過復制的,在地理上則是通過布置在全球的商業服務器進行復制,從而提供高水平的數據容錯能力。如谷歌通過在全球部署的25000 個代理服務器,即使其中任何代理服務器出現問題,其他的也可繼續提供使用,而不會導致用戶的數據出現問題。
對云數據庫的使用,用戶則不需要通過購買原始的硬件設別等方式,同時也沒有必要了解云數據庫所存放的地方,而指需要一個有效的鏈接字符串即可對云數據庫進行使用。
現階段的非共享架構下的數據訪問,通常與其不同的結構體系有著很大的關系。而當前主流的云數據庫結構體系通常以微軟為代表的關系數據模型與以谷歌、甲骨文為代表的鍵/值數據模型為主。而其對數據庫的訪問,通常采用建立映射的方式實現對數據庫的訪問。

圖2 云數據庫中的數據訪問方法
當客戶端在發出相關的數據請求的時候,其首先會向管理器請求一份分區的映射圖,在請求發送之后,管理器會向客戶端發送相應的映射圖,并在圖中進行相應的搜索,并通過自身的鍵值來查找相應數據的位置;在找到相應的數據節點之后,客戶端會向相應的數據節點發送數據請求,數據節點則會根據請求將相應的數據傳遞給客戶端。而在實際的操作上,為改變客戶端訪問的瓶頸,通常會在客戶端建立緩存區域,存儲其常用的分區映射圖,這樣便可在不需要與管理器交互的情況下即可使用相應的接點,從而大大提高了對數據的利用。
而采用該種方式的如BigTable,在該云數據庫中,其所為的數據節點的服務器被稱為Tablet 服務器,而管理器又被稱為主服務器。主服務器的作用是負責將Tablet 按照相應的邏輯分配到Tablet 服務器上,并可對Tablet 服務器做出負載的均衡,以及實現對GFS 文件系統當中的垃圾文件的收集。
除上述的功能外,主管理器還可負責處理模式的變化,如對表、列的創建,從而使得客戶端不需要直接從主服務器上去讀取數據,而只需要從Tablet 服務器上面去讀取相應的數據即可,這樣就是的客戶端不需要更多的去依賴主服務器,從而使得主服務器的負載壓力會減少很多。
而針對HBase 則采用與BigTable 其類似的方式來實現對數據庫的訪問。但與BigTable 不同是,其數據的存儲是由一個表當中排序的行所構成的,可使得所有的表、行都可存儲在一個集合中。
而針對關系模型的數據庫,通過建立樹型節點的方式來實現對數據庫的訪問。如HugeTablel 為分布式的數據系統,其采用標準的SQL 語言執行查詢,并可支持高性能的全局的索引,并采用多主服務器的機制以及可靠的Zookeeper 系統,保證其服務單點的失效。通過客戶端的的數據請求,并通過其中的主服務的組件,采用ODBC/JDBC 等接口實現對數據訪問的驅動,以此實現對數據的訪問。

圖3 可擴展分布式關系型系統體系架構
本文對于非共享架構下的云數據的訪問,以其特征和概念的角度出發,借鑒相關文獻和研究成果,提出可通過建立映射的方式實現對數據的訪問,從而提高對云數據庫技術利用的效率。
[1] 林子雨,賴永炫,林琛,謝怡,鄒權.云數據庫研究[J]. 軟件學報,2012,05:1148-1166.
[2] 劉桂蘭,王書海.云數據庫體系架構研究分析[J].河北省科學院學報,2013,02:75-80.