摘要:數據庫系統可用性是考察數據庫系統性能的基本指標之一,對其分析通常著眼于系統的總體性能#65377;說明了這種分析的不足,提出了數據資源可用性考察方法并應用于分布式并行數據庫系統DPDBS#65377;在對DPDBS中服務器群進行邏輯分組的基礎上,從數據資源的角度量化討論DPDBS的可用性,進而對幾種常見的數據庫系統數據資源可用性進行分析和比較#65377;
關鍵詞:分布式并行數據庫;系統可用性;數據資源可用性
中圖分類號:TP311文獻標志碼:A
文章編號:1001-3695(2007)10-0110-03
0引言
隨著信息化進程的加快,人們對計算機系統可用性要求越來越高#65377;對系統可用性的評價,在不同發展階段和不同關注角度下產生不同的描述[1~6]#65377;一般可歸納為以下兩種:
a)平均可用性#65377;系統保持正常運行時間的百分比,即MTTF/(MTTF+MTTR)×100%#65377;其中:MTTF(mean time to failure)是平均無故障時間,用于衡量計算機系統的可靠性;MTTR(mean time to repair)是系統發生故障后維修和重新恢復正常運行平均花費的時間,用于衡量計算機系統的可維護性#65377;事實上,為了達到高可用性,計算機系統必須具有很高的可靠性和很好的可維護性#65377;
b)瞬時可用性#65377;計算機系統在時刻t能正常工作的概率#65377;一般用A(t)表示,用于考察計算機系統在時刻t能提供服務的能力#65377;
這兩種可用性定義都從系統總體性能的角度研究整個系統正常運行的概率,并未考慮系統中各種數據資源可被訪問的程度#65377;對數據庫系統來說,系統正常運行是數據資源可被訪問的前提,但并不意味著正常運行的系統中各種數據可被訪問的程度相同#65377;如在通過數據副本冗余達到高可用的數據庫系統中,不同冗余度和不同訪問量下的數據可用性未必相同,特別地,正常運行中的系統一旦發生數據丟失,則丟失數據資源能提供服務的概率為0,此時上述兩種定義方式對這部分數據都不再有任何意義#65377;
鑒于此,本文撇開數據庫系統的總體可用性,從數據資源的角度去研究分布式并行數據庫系統DPDBS的可用性,在描述分布式并行數據庫系統中數據資源訪問過程的基礎上,對系統節點群進行邏輯分組,進而定義數據資源瞬時可用度,并用于DPDBS的數據資源可用性量化討論,最后對幾種相關數據庫系統可用性進行分析和比較#65377;
1節點群邏輯分組
1.1系統模型
分布式并行數據庫系統采用典型的C/S設計模式,體系結構如圖1所示#65377;
整個系統由服務器群#65380;客戶機群和網絡三部分組成#65377;服務器群由多個服務器節點通過高速交換機連接形成一個統一整體,它們沒有公共時鐘和共享存儲設備,各節點通過消息傳遞機制實現數據通信并借助分布式并行調度完成動態任務調度功能[7]#65377;系統數據資源根據數據庫冗余度要求#65380;數據分片原則和數據庫訪問量等在服務器節點間動態冗余分布#65377;
1.2數據庫訪問過程
設S={S1,S2,…,Sn}是DPDBS中由n(n≥3)個節點構成的節點全集,數據庫數據根據冗余度#65380;負載均衡等要求動態分布于節點群S中#65377;
數據庫操作的執行對用戶透明,其完整過程是:客戶操作某數據庫D時,首先通過分布式并行調度與S中某個正常節點Si(i = 1,2,…,n)建立連接,并在該節點上創建該客戶的主代理PDmain,用于負責系統與客戶間的交互#65377;在操作請求發送到PDmain后,PDmain根據任務類型將其分解成若干子任務在擁有該數據庫數據的節點中進行分配,各節點處理完自己的子任務后將執行結果返回PDmain,PDmain匯總所有子任務結果,進行相應處理后向客戶返回最終執行結果#65377;
由此可見,某數據庫操作的執行只與該庫數據分布的節點與會話節點有關#65377;由于會話節點上不一定存在要執行的數據庫數據,參與冗余度為r(一般要求r≥2)的數據庫執行的節點數為r或r+1,其余n-r個或者是n-r-1個節點與該庫的執行沒有直接聯系#65377;
1.3服務器群的邏輯分組
由DPDBS中數據庫的訪問過程可知,若干數據庫同時運行實際上已經根據不同的用戶請求將系統服務器群邏輯地分成若干組,某數據庫在時刻t能否提供正確服務只與其所屬分組有直接的關系#65377;
為了描述DPDBS中服務器節點的邏輯分組法,先定義如下三個概念:
從圖3不難看出,在節點組中退出節點數相同時,冗余度越大的數據瞬時可用度越大;當且僅當數據所屬節點組中節點全部退出時該數據的瞬時可用度為0#65377;換句話說,系統中某數據資源的瞬時可用度只與該數據所屬節點組有關#65377;
同樣的討論可應用于集群系統和雙機熱備份系統#65377;在單主節點集群系統中,若主節點故障,在系統中所有數據的瞬時可用度為0;否則在相同條件下,數據庫瞬時可用度為p(1-pr-y)#65377;在雙機熱備份系統中,數據瞬時可用度僅為DPDBS中r=2的情形#65377;顯然,DPDBS的數據瞬時可用度高于集群系統和雙機熱備份系統#65377;
3結束語
對系統可用性的評價通常因關注角度的不同而不同,已有的可用性評價指標均基于系統的總體特征#65377;本文提出數據資源可用性考察方法,從數據資源的角度量化分析了分布式并行數據庫系統DPDBS的可用性#65377;但是,這種分析法局限于對相同冗余度#65380;相同節點組的用戶數據,如何通過所有用戶數據資源可用性來研究整個系統的數據資源可用性以及不同訪問量下的數據資源可用性還有待作進一步研究#65377;
參考文獻:
[1]MALWANE M A.Estimation and testing of availability of a parallel system with exponential failure and repair times[J].Journal of Statistical Planning and Inference,1999,77: 237-246.
[2]高文,祝明發,徐志偉.基于維修時間約束的機群系統可用度的仿真算法[J]. 計算機學報, 2001,24(8):876-880.[3]劉愛民,劉有恒.可修復網絡穩態可用度分析[J]. 通信學報, 1997,18(7):1519.
[4]胡華平,金士堯,王維.分布式系統高可用度方案的選擇[J]. 系統工程與電子技術,2000,22(3):65-67.
[5]AMIR Y,WOOL A.Optimal availability quorum systems:theory and practice[J].Information Processing Letters,1998,65 (5):223-228.
[6]劉心松.具有分布式并行I/O接口的分布式并行服務器的性能研究[J]. 電子學報, 2002,30(12): 18081810.
[7]陳建英,劉心松,左朝樹,等. 基于數據動態冗余的分布式并行系統重構機制[J]. 計算機應用研究, 2004, 21(11):229-232.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”