互聯(lián)網(wǎng)已經(jīng)成為當今人們生活中不可或缺的一部分。一方面,隨著Web2.0的流行以及云計算技術(shù)的發(fā)展,超大規(guī)模和高并發(fā)的社交網(wǎng)站迅速興起,人們對互聯(lián)網(wǎng)的需求遠不局限于網(wǎng)頁信息的瀏覽,而是通過瀏覽器獲取各種各樣的服務(wù)。另一方面,互聯(lián)網(wǎng)數(shù)據(jù)中心的研究報告顯示,在未來幾年中,企業(yè)對于結(jié)構(gòu)化以及非結(jié)構(gòu)化的數(shù)據(jù)存儲需求會每年都會增長,但對非結(jié)構(gòu)化數(shù)據(jù)需求增長幅度相對較大。同時,在數(shù)據(jù)庫知識網(wǎng)站DB-Engines最新一期的數(shù)據(jù)庫產(chǎn)品流行度排名中,位于前10名的大部分是基于關(guān)系數(shù)據(jù)模型的數(shù)據(jù)庫,以及少部分的非關(guān)系數(shù)據(jù)模型數(shù)據(jù)庫,但從整體來看,Relational DBMS處于下降的趨勢,而對非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)庫的需求越來越多。面對數(shù)據(jù)的海量存儲以及需求的動態(tài)變化,傳統(tǒng)關(guān)系型數(shù)據(jù)庫已經(jīng)顯得力不從心。為了滿足互聯(lián)網(wǎng)發(fā)展以及互聯(lián)網(wǎng)用戶對數(shù)據(jù)海量存儲的需求,Amazon、Google、Microsoft等公司相繼對云數(shù)據(jù)庫管理系統(tǒng)進行了深入研究,并生產(chǎn)了自己企業(yè)的云數(shù)據(jù)庫。具有代表性的云數(shù)據(jù)庫有Amazon的simpleDB、Google的BigTable以及yahoo的PNUTS等。
1.云數(shù)據(jù)庫概述
通俗的理解,云數(shù)據(jù)庫就是部署在云計算環(huán)境中,并利用云計算的特性來提升自身的服務(wù)質(zhì)量,滿足用戶新需求的數(shù)據(jù)庫。云數(shù)據(jù)庫是隨著SaaS(Software as a service;軟件即服務(wù))應用的興起而發(fā)展起來的一種云計算技術(shù),它在數(shù)據(jù)庫的存儲能力方面有了很大的提高,并在一定程度上消除了對軟件、硬件以及人員的重復配置,讓軟硬件的升級變得更加方便,與此同時也虛擬化了很多后端的功能。與傳統(tǒng)的關(guān)系數(shù)據(jù)庫相比,云數(shù)據(jù)庫具有顯著的優(yōu)勢:海量性、種類多樣性、動態(tài)可擴展性、高可用性、較低的使用代價、易用性、大規(guī)模并行處理等。
2.云數(shù)據(jù)庫系統(tǒng)體系架構(gòu)
云數(shù)據(jù)庫的系統(tǒng)體系架構(gòu)多種多樣,本文主要介紹采用鍵/值數(shù)據(jù)模型和關(guān)系數(shù)據(jù)模型的系統(tǒng)體系架構(gòu)以及可擴展分布式關(guān)系型系統(tǒng)體系架構(gòu)。
2.1 HBase體系架構(gòu)
HBase(Hadoop Database),是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),利用HBase技術(shù)可在廉價PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲集群。HBase是谷歌Big—table的開源實現(xiàn),其采用的架構(gòu)和Bigtable類似。如圖1所示。
圖1 Hbase的體系架構(gòu)
HBase體系架構(gòu)中主要包括5部分,分別為:Client,Zookeeper,Hmaster,HRegionServer和Store,具體功能如下:
(1)Client:為用戶訪問數(shù)據(jù)庫提供了接口。
(2)Zookeeper:主要用于存儲數(shù)據(jù)庫模式和所有HRegion的地址,并實時監(jiān)控HRegion-Server的狀態(tài)。
(3)HMaster:主要為每個HRegionServer分配其要維護的HRegion群組,實現(xiàn)負載均衡,HBase中僅有一個Master server。
(4)HRegionServer:每個HRegionServer主要用于管理多個HRegion,確保其能為Client提供服務(wù),并及時向HMaster提供自己的運行狀況信息。
(5)Store:主要用于實現(xiàn)數(shù)據(jù)庫的存儲功能,其由兩部分組成:MemStore和StoreFiles。更新數(shù)據(jù)首先會存儲到MemStore中,并當MemStore數(shù)據(jù)存儲滿了之后再將數(shù)據(jù)存儲到StoreFile中,其中StoreFile存放在分布式文件系統(tǒng)的HFile中。
2.2 SQL Azure體系架構(gòu)
SQL Azure是一種基于云計算的關(guān)系型數(shù)據(jù)庫服務(wù),基礎(chǔ)架構(gòu)類似于SQL Server2008,但它與SQL Server 2008有所不同,其在內(nèi)部包含了很多虛擬服務(wù)器,可以根據(jù)需求的動態(tài)變化而改變參與計算的虛擬機數(shù)量。SQL Azure以關(guān)系模型存儲數(shù)據(jù),并且每臺虛擬機都安裝了數(shù)據(jù)庫管理系統(tǒng)。一般情況下,一個完整的數(shù)據(jù)庫會被存儲到多臺虛擬機中。每臺虛擬機的結(jié)構(gòu)相同,都包括SQL Azure Fabric,管理服務(wù),若干數(shù)據(jù)庫實例,管理服務(wù)主要用于實現(xiàn)數(shù)據(jù)同步,這就避免了因為更新操作而導致的每臺虛擬機中數(shù)據(jù)的不同,從而保證了數(shù)據(jù)的高可用性。同時,虛擬機通過SQL Azure Fabric和管理服務(wù)之間互相交換信息,從而監(jiān)控整體服務(wù)的狀態(tài)。如圖2所示。
圖2 SQL Azure的體系架構(gòu)
2.3 可擴展分布式關(guān)系型系統(tǒng)體系架構(gòu)
可擴展分布式關(guān)系型系統(tǒng)是在非關(guān)系型數(shù)據(jù)庫存儲系統(tǒng)基礎(chǔ)上提出來的,并借鑒了RDBMS數(shù)據(jù)模型的高效性和NoSQL數(shù)據(jù)庫的高可用性,其體系架構(gòu)如圖3所示。圖中實線箭頭用于表示組件間數(shù)據(jù)的傳輸功能;虛線箭頭用于表示組件間對信號的控制功能。系統(tǒng)服務(wù)組件主要包括五種,分為別:RS(主服務(wù),主要用于維護系統(tǒng)最底層的元數(shù)據(jù)),US(更新服務(wù),主要用于執(zhí)行系統(tǒng)的更新操作),CS(主干服務(wù),主要用于存儲用于查詢的靜態(tài)數(shù)據(jù)),MS(合并服務(wù),主要用于處理查詢請求時數(shù)據(jù)的合并相關(guān)操作),client(客戶端,主要為用戶操作數(shù)據(jù)庫提供接口)。
圖3 可擴展分布式關(guān)系型系統(tǒng)體系架構(gòu)
客戶端查詢流程,如圖4所示。
圖4 數(shù)據(jù)查詢流程
(1)首先客戶端向處理合并操作的合并服務(wù)組件發(fā)送查詢請求;
(2)合并服務(wù)組件接到請求后首先向主服務(wù)發(fā)送定位請求,獲取相應數(shù)據(jù)所在服務(wù)器的位置;
(3)主服務(wù)組件RS根據(jù)合并服務(wù)的請求獲取相應的定位信息并返回給合并服務(wù)組件;
(4)合并服務(wù)組件根據(jù)返回的定位信息首先向存儲靜態(tài)數(shù)據(jù)的主干服務(wù)組件CS發(fā)送查詢請求;
(5)主干服務(wù)組件CS根據(jù)請求返回滿足條件的靜態(tài)數(shù)據(jù);
(6)合并服務(wù)組件然后根據(jù)從主服務(wù)返回的定位信息向存儲動態(tài)數(shù)據(jù)的更新服務(wù)組件發(fā)起動態(tài)查詢請求;
(7)更新服務(wù)組件根據(jù)請求向合并服務(wù)組件返回滿足需求的動態(tài)數(shù)據(jù);
(8)合并服務(wù)組件將(5)和(7)返回的數(shù)據(jù)進行處理并將最終結(jié)果返回給客戶端。
2.4 云數(shù)據(jù)庫體系架構(gòu)的探索
HBase體系架構(gòu)采用鍵/值數(shù)據(jù)模型,解決了傳統(tǒng)關(guān)系數(shù)據(jù)庫只能存儲關(guān)系型數(shù)據(jù)的瓶頸,其不僅可以存儲結(jié)構(gòu)化數(shù)據(jù),同時也可以存儲半結(jié)構(gòu)化以及非結(jié)構(gòu)化數(shù)據(jù),并可以通過Zookeeper實時監(jiān)控系統(tǒng)運行狀態(tài),保證交叉操作數(shù)據(jù)的正確性。SQL Azure體系架構(gòu)采用關(guān)系數(shù)據(jù)模型,可以使用與人們所熟悉的SQL Server相同的方式來使用,在擴展性、可用性等方面相對傳統(tǒng)數(shù)據(jù)庫來說具有很好的改進,并可以通過管理服務(wù)實現(xiàn)數(shù)據(jù)間的同步。可擴展分布式關(guān)系型系統(tǒng)體系架構(gòu)既具有關(guān)系數(shù)據(jù)庫的便攜性同時又增加了NoSQL的可擴展性,提出了一種全新的數(shù)據(jù)讀寫、合并以及存儲流程。三者在實現(xiàn)方式上有所不同,但他們的基本目的是一致的,都是盡可能保證系統(tǒng)的高可用性以及高效性,三者具有相對的優(yōu)勢,但如果將其優(yōu)點進行融合,各自發(fā)揮各自的優(yōu)勢,便可帶來新的體驗。下面介紹一種在三者基礎(chǔ)上提出的云數(shù)據(jù)庫體系架構(gòu)。
該體系架構(gòu)融合了Hbase、SQL Azure、可擴展分布式關(guān)系型系統(tǒng)體系架構(gòu)三者的優(yōu)點,將用戶的操作分為更新操作和查詢操作兩種。首先客戶端通過訪問端口進行操作,如果是查詢操作并且客戶端存儲了相應的分區(qū)映射圖,直接到指定的HregionServer讀取數(shù)據(jù),如果未存儲相應的分區(qū)映射圖則首先通過Hmaster—select獲取相應的分區(qū)映射圖之后再到指定的HregionServer讀取數(shù)據(jù)。因為不需要執(zhí)行更新操作,Store中只有存儲數(shù)據(jù)的Storefile。如果用戶執(zhí)行的是更新操作,則首先經(jīng)過Zookeeper檢查一下相應的HRegionServer的狀態(tài),若可用則連接到相應的HregionServer,否則Hmaster_update會根據(jù)負載均衡分配可用的Hre—gionServer,并將數(shù)據(jù)首先放到MemStore中,在適當?shù)臅r機自動更新到Storefile中。另外,每一個Hregion Server中包含一個管理服務(wù),并且管理服務(wù)間相互連接,從而實現(xiàn)數(shù)據(jù)的同步。如圖5所示。
圖5 云數(shù)據(jù)庫體系架構(gòu)探索示意圖
該體系架構(gòu)與Hbase體系架構(gòu)相比,采用了其監(jiān)控的模式,不同的是每一個體系中含有兩個Hmaster,分別為Hmaster-select和Hmaster-update,二者都可以管理HRegionServer的負載均衡,調(diào)整Region的分布,區(qū)別在于前者主要用于管理用戶對Table的查詢操作,后者主要用于管理用戶對Table的增加、刪除、修改操作。與SQL Azure體系架構(gòu)相比,采用了其利用管理服務(wù)實現(xiàn)數(shù)據(jù)同步的功能。與可擴展分布式關(guān)系型系統(tǒng)體系架構(gòu)相比,主要采用了其查詢和更新操作相分離的思想,這樣執(zhí)行不同的操作目的性強,在一定程度上節(jié)省了時間。
3.結(jié)論及展望
隨著信息量的增加,計算機所要處理的數(shù)據(jù)呈指數(shù)級別的增長,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已經(jīng)不能滿足用戶的需求。云數(shù)據(jù)庫為解決該問題提供了一種可行的解決方案,日益受到業(yè)界和學術(shù)界的普遍關(guān)注。云數(shù)據(jù)庫的出現(xiàn)必定會帶來一場巨大的變革,諸如:數(shù)據(jù)存儲的變革、極大的改變企業(yè)管理數(shù)據(jù)的方式、催生新一代的數(shù)據(jù)庫技術(shù)、數(shù)據(jù)庫市場份額面臨重新分配、瀏覽器模式的改變、影響了DBA的工作量以及開發(fā)者的訪問方式等。
就目前階段而言,雖然已經(jīng)出現(xiàn)了一些云數(shù)據(jù)庫產(chǎn)品,其體系結(jié)構(gòu)不盡相同,但總體目標都是盡可能保證數(shù)據(jù)的高效性、高可用性等云數(shù)據(jù)庫特有的特性。但這些系統(tǒng)暫時并未完全實現(xiàn)云數(shù)據(jù)庫相對傳統(tǒng)數(shù)據(jù)庫所有的優(yōu)勢,讓這些系統(tǒng)能完全滿足用戶不斷發(fā)展的需求仍需人們的共同努力。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:云數(shù)據(jù)庫體系架構(gòu)研究分析
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10839714812.html