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