Global Sources
電子工程專輯
 
電子工程專輯 > 記憶體/儲存
 
 
記憶體/儲存  

利用資料庫核心實現高可用性網路設計

上網時間: 2004年02月15日     打印版  Bookmark and Share  字型大小:  

關鍵字:Database  資料庫  Network Design  網路設計  real-time database 

隨著語音、數據和多媒體業務需求的不斷提升,通訊架構也日趨複雜。數據管理是目前通訊網路和業務開發中最具挑戰性的領域,本文介紹的數據管理技術不僅能提供高可用性,而且還能提供卓越的性能、可量測性和成本效益。

全網際網路協定(all-Internet Protocol)網路以及基於IP的業務通常要求通訊系統不僅具有較短的開發週期,還要能保證傳統的電信級業務的連續性和響應度。而且,隨著語音、數據和多媒體業務需求的不斷提升,通訊架構也日趨複雜。靜態資訊的日益動態化、定製用戶特性的不斷增加以及內容豐富的預付費和在線點播業務的持續成長則使問題進一步複雜化。所有這些因素均要求大幅提升數據量,並對數據進行快速、可靠、精確地儲存和存取,而且每次處理一項業務請求。

面對這些壓力,系統供應商正試圖採用一種基於公開的標準架構塊方法以削減產品上市時間並降低通訊架構開發和維護的成本。例如,業務可用性論壇(www.saforum.org)透過製作、宣傳業界廣泛採用的加速高可用架構和應用系統開發及部署的公開標準規格,詳細討論了該問題。

高速即時資料庫是該設備的中樞架構塊,可提供下一代網路所需的數據處理功能。這些資料庫還可滿足業務可用性和可靠性需要。該資料庫通常基於專用解決方案,這往往加大了開發成本並延長了產品上市時間。現在,架構生產商則能從現有的即時資料庫產品中受益,即以較短的時間及較低的成本提供更具競爭力的通訊平台。圖1:在N*Active/M*Standby冗餘模型中,具有兩個複製的分區複製可以滿足絕大多數可用性需求。

資料庫分析

嵌入至通訊系統內部的即時資料庫系統需要:

* 對數量極大的簡單查詢進行響應(總是透過主鍵或唯一的輔助鍵加以實現);


* 透過頻繁的更新來管理簡單數據;


* 具有高可用性,故障時間每年最多半分鐘;


* 具有極短的響應時間,通常只為幾個毫秒。

這些需求還必須適應不斷增加的用戶數需求。目前,大型行動網路所能處理的用戶數範圍已經達到一千萬。將來,虛擬業務供應商將能共享相同的網路架構,這樣單個網路將不得不支援更多的用戶數。此外,用戶也許很快就能使用嵌入至汽車和家用電器的行動設備,由此導致連接數目呈幾何指數成長。

傳統方法

傳統基於磁碟的資料庫可採用磁碟複製技術確保數據可用性。為了改進性能,儲存進程可將處理程式從應用系統轉移到資料庫本身。這樣,可以透過在RAM中獲取數據以改進存取時間。該方法的儲存速率仍然相對降低,尤其對於需要大量進行寫作業的應用,因為這時磁碟I/O仍將成為主要瓶頸。

為了獲得更高性能,專用即時數據管理系統可在RAM中進行所有的數據處理。透過在固定的記憶體位置儲存數據,而不像高速緩衝記憶體那樣到處行動數據,即可實現更高的性能。該解決方案也同樣適用於簡單的數據結構。然而,這類即時資料庫並不能提供很高的可靠性並且易受系統崩潰的影響。改進可靠性和可用性的方法(例如,透過在不同的記憶體段中採用同步複製)通常代價昂貴,使系統靈活地適應各類不同的應用通常需要不同的事務處理模式,這進一步增加了專用解決方案的成本。下一代通訊系統將需要一種新型資料庫以有效地進行即時數據管理。

分散式方法

為了滿足即時系統中新型數據管理的需要,可以考慮能對分佈在諸多網路節點上的數據進行同步複製的平行主存資料庫系統。

所謂的無共享叢集(由眾多節點組成的平行系統,每個節點均自備作業系統、磁碟和RAM,這些節點實現高速互聯)可以在多個處理器中進行分散式處理並能自動隱藏局部系統中的故障。

一旦出現故障,資料庫系統可以自動配置並隱藏故障的處理器。故障切換時間(發現故障節點至切換至備用節點的時間)可以限制在50毫秒以內以保證業務不受干擾。此外,還可採用同步複製和動態配置支援在線輪詢升級。這種設計可實現每年最多30秒故障時間的高可用性,即在99.9999%的時間內均能正常執行。

為使廣大應用開發人員迅速採用這些特性,必須使其具有標準的應用編程介面,同時,還必須保持足夠的靈活性以滿足各種應用需要。這意味著必須開發出既能支援共享記憶體又支援無共享架構,同時還具有相當靈活度的冗餘模型。因此,開發人員提出了所謂的N*Active/M*Standby冗餘模型以適用即時分散式資料庫,並被業務可用性論壇加以標準化。

在N*Active/M*Standby冗餘模型中,資料庫採用N個活動節點,在這些節點上,資料庫伺服器執行表徵應用的事務。模型可以透過以下兩條途徑實現冗餘:在活動節點間進行節點複製以及將數據複製到備用節點。

M個備用資料庫節點可在資料庫重配置過程中啟動。這些啟動可以是資料庫管理人員提出的有計畫重配置,也可以是由於節點故障導致的意外重配置。一旦活動資料庫出現故障,應用系統將重新連接到備用資料庫。

在全複製過程中,所有數據將在所有活動節點中加以複製。然而,在大多數場合下,具有兩個副本的分離複製就能滿足絕大多數可用性需求。

配置過程中,數據將採用一種對應用開發人員完全透明的分散式線性散列方法。活動節點將分成兩類節點組,而數據則將在節點組內的節點進行複製,這樣就形成了數據的主級複製和輔助複製(參見圖1)。只要所有的節點組最少具有一個正常工作的活動節點,系統就能正常執行。

分散式資料庫可解決多個節點故障。當一個節點故障時,節點組中的其他節點仍然能包含相關的資訊分段,因而可以繼續工作。當節點重啟時,主級複製將配合節點重啟並獲取所有分段資訊。這樣,系統不僅不會出現任何故障時間,而且還允許對資料庫進行寫作業。

當所有的複製完成更新並將日誌寫入主記憶體後,即可匯報情況。事務可以一種?定的方式非同步進行磁碟作業,這樣如果出現系統故障,仍然能使資料庫恢復到?定的事務狀態。圖2:在媒體網路閘道中,資料庫可用來管理一組表徵節點實體資源的虛擬對象,網路閘道透過對實際數據流進行作業以設立和拆除通話。

對於災難恢復,非同步複製還適用於分散分佈的資料庫。全部複製間的平行日誌訊息通道可提供處理網路冗餘的靈活機制。

基準測試顯示,基於無共享叢集的即時分散式資料庫設計可提供比非分散式主存資料庫更優的性能以及更高的可靠性和可用性。

例如,易利信公司開發的即時分散式資料庫系統NDB叢集已成為經過配置32個節點資料庫叢集解決每秒150萬個事務的商用Unix系統的基準。負載則由利用高頻寬實現互聯並連接至資料庫叢集的23個遠端處理器產生。

實際應用中的資料庫

分散式即時資料庫廣泛應用於核心網節點,如行動切換中心,媒體網路閘道和媒體網路閘道控制器。資料庫適用於儲存針對會話的數據,這些數據反映了正進行的連接和通訊業務的狀態。在部份系統故障條件下保存會話數據對於實現高可用性至關重要。資料庫也適用於資源管理,下面的示例說明了這一點。

例如,在媒體網路閘道中,資料庫適用於管理一組表徵節點實體資源的虛擬對象(圖2)。媒體網路閘道的任務就是透過對實際數據流進行處理(在用戶平面上)以設立和拆除通話。媒體網路閘道應用實現了用戶平面控制功能。首先媒體網路閘道為媒體網路閘道控制器試圖設立的通話分配實際資源,應用為設備設立與通話相關的協議,以完成連接並處理之後的數據流。通話結束,媒體網路閘道將釋放連接和設備。

一旦應用進程出現故障,另一程序可以透過從資料庫獲取資訊因而接管應用。對於那些無法保存的通話,資源可利用資料庫中的資訊加以釋放。在媒體網路閘道中採用資料庫可以顯著簡化資源管理。

資料庫需要考慮的因素包括:

* 高可用性特性;


* 資料庫處理器出現故障時,故障切換的時間小於50ms;


* 即時軟體更新時的數據可用性;


* 性能和可量測性;


* 主從模式下複製系統具有每秒10,000個事務的處理能力並使用盡可能少的處理器;


* 透過添加更多設備卡以提高資料庫容量的能力;


* 對於數據的不同部份具有不同的響應時間需求;


* 在某些極端情形下,如當接取時間小於0.1ms時,能在客戶端緩衝記憶體數據;


* 記憶體使用;


* 每個設備卡的記憶體容量有限(通常RAM的容量為0.5G);


* 較小的資料庫記憶體規格以及每個資料庫記錄都具有最小開支;


* 應用開發;


* 可以便捷地將資料庫整合至應用系統;


* 解析數據的實體位置(緩衝記憶體在API或配置在遠端處理器);


* 解析資料庫配置(是否執行於兩個或更多處理器之上)。

數據管理是目前通訊網路和業務開發中最具挑戰性的領域,受惠於分散式即時作業系統、資料庫系統、網路廠商、產品生產商和設計人員的共同努力,目前已經推出的數據管理技術不僅能提供高可用性,而且還能提供卓越的性能、可量測性和成本效益。

作者簡介:

Tomas Ulin是Alzato公司的總經理,Alzato公司是一家由易利信公司出資,專注於在通訊領域開發和銷售分散式即時資料庫技術的商務創新投資公司。Ulin於瑞典Royal Institute of Technology大學(Stockholm)獲得電腦科學博士學位,於Case Western Reserve (Cleveland)大學和瑞典Uppsala大學分別獲得電子工程碩士學位和工程物理碩士學位




投票數:   加入我的最愛
我來評論 - 利用資料庫核心實現高可用性網路設計
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首