摘 要:針對云環(huán)境下數(shù)據(jù)庫系統(tǒng)日益復(fù)雜現(xiàn)狀,文章提出了一種基于云環(huán)境的數(shù)據(jù)庫擴展系統(tǒng)模型。該模型架構(gòu)分為三個層次:邏輯事物處理層、本地數(shù)據(jù)庫代理和緩存池層和可擴展數(shù)據(jù)庫層。仿真結(jié)果表明,文章設(shè)計的模型在數(shù)據(jù)請求逐漸增加的情況下,數(shù)據(jù)庫擴展模型的系統(tǒng)響應(yīng)時間越短,效果越明顯。
關(guān)鍵詞:云計算;數(shù)據(jù)庫;可擴展性
引言
隨著云計算的,當系統(tǒng)規(guī)模增大時,所設(shè)計的存儲系統(tǒng)需要增強相應(yīng)的硬件設(shè)備,達到適應(yīng)系統(tǒng)更加龐大的應(yīng)用規(guī)模,具有可擴展性[1,2]??蓴U展性指的是增強硬件設(shè)備性能或硬件設(shè)備的數(shù)量。增加設(shè)備數(shù)量又稱為水平擴展,數(shù)據(jù)庫層內(nèi)的水平擴展很難實現(xiàn),這是因為數(shù)據(jù)庫服務(wù)器需要保存數(shù)據(jù),每一次數(shù)據(jù)的增加、刪除、修改等都會導(dǎo)致服務(wù)器內(nèi)的數(shù)據(jù)同步。因此,為了增強數(shù)據(jù)庫層內(nèi)的可擴展性,文章通過研究云計算環(huán)境下的數(shù)據(jù)庫擴展技術(shù),設(shè)計了一種基于云環(huán)境的數(shù)據(jù)庫服務(wù)器水平擴展模型,以縮短系統(tǒng)的響應(yīng)時間。
1 架構(gòu)概述
文章提出了一種基于云環(huán)境下的數(shù)據(jù)庫擴展系統(tǒng)模型。在應(yīng)用服務(wù)器下面的數(shù)據(jù)庫擴展系統(tǒng)架構(gòu)分為三個層次:邏輯SQL事物處理層、本地數(shù)據(jù)庫代理DA和CP緩存池層、包括符合均衡服務(wù)器在內(nèi)的可擴展數(shù)據(jù)庫層。(圖1)
圖1 數(shù)據(jù)庫水平擴展模型圖
文章介紹的邏輯SQL事務(wù)處理層指的是數(shù)據(jù)系統(tǒng)對用戶請求進行邏輯處理,在處理過程中將SQL語句包送給下一層的數(shù)據(jù)代理層和緩存池,數(shù)據(jù)庫代理DA具有連接控制數(shù)據(jù)庫和讀寫分離的功能,緩存池CP具有緩解數(shù)據(jù)庫層負載容量,提供數(shù)據(jù)訪問效率。在最下面一層可擴展的數(shù)據(jù)庫層的主要作用是提升數(shù)據(jù)庫層的可擴展性,具有負載均衡的功能。
2 基于云計算的數(shù)據(jù)庫水平擴展模型設(shè)計
2.1 實現(xiàn)讀寫分離策略
在所設(shè)計的數(shù)據(jù)庫水平擴展模型中,對應(yīng)用程序而言,讀寫分離是透明的。發(fā)生寫操作后,通過采用數(shù)據(jù)庫復(fù)制技術(shù)解決主從數(shù)據(jù)庫同步問題。數(shù)據(jù)庫系統(tǒng)的可靠性與主數(shù)據(jù)庫節(jié)點設(shè)備和數(shù)據(jù)庫群集中的節(jié)點設(shè)備的可靠性呈現(xiàn)正相關(guān)。除此之外,當系統(tǒng)規(guī)模越大,系統(tǒng)的可靠性會越低。
2.2 數(shù)據(jù)庫復(fù)制策略
讀寫分離策略會引起主從數(shù)據(jù)庫不一致的問題,由于主從數(shù)據(jù)庫同步的策略是數(shù)據(jù)庫復(fù)制技術(shù),而常用數(shù)據(jù)庫的復(fù)制方法包括以下三種:觸發(fā)器法、快照法、日志法。觸發(fā)器法的原理是記錄源數(shù)據(jù)庫中具有變化的數(shù)據(jù),這樣就避免了數(shù)據(jù)完全復(fù)制,因此具有較高的工作效率,但是觸發(fā)器法由于記錄變化的數(shù)據(jù)會引起主數(shù)據(jù)庫的數(shù)據(jù)不穩(wěn)定,從而降低了主數(shù)據(jù)庫性能;快照法是采用快照技術(shù)保存存儲對象,完全復(fù)制源數(shù)據(jù)庫,這樣雖然避免了數(shù)據(jù)庫的不穩(wěn)定性,但是由于完全復(fù)制,因此工作效率明顯降低;日志法通過分析源數(shù)據(jù)庫日志,獲得歷史操作信息,根據(jù)日志歸檔及傳遞達到數(shù)據(jù)同步的目的,該方法的工作方式是增量復(fù)制方式,因此具有較高的效率。目前數(shù)據(jù)庫數(shù)據(jù)復(fù)制技術(shù)主要采用的方法是日志法。
設(shè)存在n個節(jié)點在數(shù)據(jù)庫集群上,主從數(shù)據(jù)庫同步的模式可以有以下兩種模式,1:n模式和1:1:(n-1)的級聯(lián)模式。需要說明的是,1:n模式是n個從數(shù)據(jù)庫利用主數(shù)據(jù)庫的日志進行同步,而1:1:(n-1)的級聯(lián)模式是選擇一個作為首從數(shù)據(jù)庫,開始需要進行首從數(shù)據(jù)庫的同步,首從數(shù)據(jù)庫同步完成后,再進行其余n-1個從數(shù)據(jù)庫的同步,通過首從數(shù)據(jù)庫的日志完成其余數(shù)據(jù)庫同步。
3 系統(tǒng)仿真結(jié)果與評價
首先,設(shè)置主從數(shù)據(jù)庫為歸檔模式;編輯端口號、配置協(xié)議、客戶端訪問文件,主機IP等參數(shù);設(shè)置每個數(shù)據(jù)庫的全局名稱,并且建立公共的數(shù)據(jù)庫鏈接。
其次,配置Supplemental loging;主數(shù)據(jù)庫需要配置的主要內(nèi)容:表空間、私有數(shù)據(jù)庫鏈、數(shù)據(jù)表空間;在主備機上建立Master流隊列和Backup流隊列;在主數(shù)據(jù)庫上建立流傳播和捕獲進程;并且在數(shù)據(jù)庫上建立應(yīng)用進程。
最后,開啟捕獲程序,同時開啟應(yīng)用進程。仿真環(huán)境采用OA平臺,仿真數(shù)據(jù)表500萬條等記錄。仿真實驗任務(wù)主要為:選擇、刪除、更新、插入。在不同的并發(fā)數(shù)據(jù)請求下,對比文章的數(shù)據(jù)庫水平擴展模型和單數(shù)據(jù)庫層模型的系統(tǒng)響應(yīng)時間,仿真結(jié)果如圖2所示。從圖可以看出,數(shù)據(jù)庫擴展模型在不同請求數(shù)下平均響應(yīng)時間均小于單數(shù)據(jù)庫模型,說明文章設(shè)計的模型響應(yīng)速度較快,同時請求數(shù)增加的情況下,數(shù)據(jù)庫擴展模型的系統(tǒng)響應(yīng)時間越短,效果越明顯。
圖2 請求數(shù)-響應(yīng)時間對比圖
4 結(jié)束語
文中提出了一種基于云環(huán)境的數(shù)據(jù)庫服務(wù)器水平擴展模型,增強數(shù)據(jù)庫的可擴展性。該模型架構(gòu)分為三個層次:邏輯事物處理層、本地數(shù)據(jù)庫代理和緩存池層和可擴展數(shù)據(jù)庫層。實現(xiàn)了讀/寫分離以及數(shù)據(jù)庫復(fù)制等技術(shù)。實驗結(jié)果表明,該模型在數(shù)據(jù)請求逐漸增加的情況下,數(shù)據(jù)庫擴展模型的系統(tǒng)響應(yīng)時間越短,效果越明顯。
參考文獻
[1]劉洋,高連生,王斌.一種面向應(yīng)用擴展的樹狀數(shù)據(jù)庫設(shè)計模型[J].計算機工程與設(shè)計,2006(21).
[2]周文瓊,李慶忠,范路橋,等.SaaS模式多租戶數(shù)據(jù)存貯模型的研究與實現(xiàn)[J].計算機科學(xué),2013(10).
[3]熊安萍,劉進進,鄒洋.基于對象存儲的負載均衡存儲策略[J].計算機工程與設(shè)計,2012(7).
[4]王意潔,孫偉東,周松,等.云計算環(huán)境下的分布存儲關(guān)鍵技術(shù)[J].軟件學(xué)報,2012(4).
[5]岑宇森,熊芳敏,陳元濱.面向主動對象數(shù)據(jù)庫技術(shù)在污染監(jiān)控中的應(yīng)用[J].計算機與現(xiàn)代化,2008(10).
作者簡介:龐天天(1978,3-),男,內(nèi)蒙呼和浩特,軟件工程碩士,講師,研究方向:計算機應(yīng)用。