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