蘇智韜
(大慶油田信息技術(shù)公司北京分公司,北京 100043)
在當前網(wǎng)絡環(huán)境下,信息越來越成為整個社會環(huán)境溝通的載體,甚至可以說,信息本身的安全與穩(wěn)定,已經(jīng)成為影響社會環(huán)境諸多方面穩(wěn)定的重要因素。而這種對于信息的安全,進一步推動了數(shù)據(jù)庫領(lǐng)域相關(guān)問題的產(chǎn)生,在MySQL數(shù)據(jù)庫環(huán)境中,高可用性(HA,High Availability)以及相關(guān)技術(shù)與實現(xiàn),已經(jīng)成為確保數(shù)據(jù)庫工作穩(wěn)定特征重要手段和依據(jù)。
對于MySQL數(shù)據(jù)庫工作體系而言,高可用性水平在很大程度上受到應用環(huán)境的影響,不同的應用領(lǐng)域,對于高可用性的要求都會有所不同。常規(guī)而言,高可用性體系需要確保整個系統(tǒng)的可用性,如果可用度達到99.9%,就意味著每年的停機時間不超過8.8小時。而對于要求更為嚴格的軍事環(huán)境,可用性甚至會被要求達到99.999%,當然其對應的成本也會隨之激增。
當前在MySQL數(shù)據(jù)庫系統(tǒng)領(lǐng)域中,較為常見的打造高可用性的手段,是采用雙機服務器并且建立互為同步復制體系,進一步配合結(jié)合后臺進程延時數(shù)據(jù)復制技術(shù),以及服務器IP地址動態(tài)“漂移”等相關(guān)技術(shù),切實實現(xiàn)對于數(shù)據(jù)庫系統(tǒng)可用性的提升。隨著技術(shù)的發(fā)展,目前在該領(lǐng)域中,四機體系也開始投入應用,進一步分為四機兩數(shù)據(jù)節(jié)點系統(tǒng)和四機四數(shù)據(jù)節(jié)點技術(shù)兩個主要分類,同時多機體系也在積極的研發(fā)過程中,對于兩機以上的高可用性系統(tǒng)而言,當前主要采用MySQL Cluster技術(shù)予以展開,實現(xiàn)數(shù)據(jù)從整體結(jié)構(gòu)上的分布式存儲和熱備份等相關(guān)職能。
當前在數(shù)據(jù)庫環(huán)境中存儲的數(shù)據(jù)有多個類型,不同類型的數(shù)據(jù)在存儲和加工的過程中都會遵守嚴格的時序特征,并且對應的操作結(jié)果還需要進行實時輸出,因此對于數(shù)據(jù)庫的高可用方面的要求,同樣會重點體現(xiàn)在實時、穩(wěn)定等方面。除此以外,MySQL數(shù)據(jù)庫環(huán)境中還會存在大量外部信息源數(shù)據(jù)以及其他操作命令數(shù)據(jù)等,這些數(shù)據(jù)攜帶對應的時間戳存在,反映了系統(tǒng)一段時間內(nèi)的運行情況,因此從數(shù)據(jù)庫的功能角度看,必須實現(xiàn)有快速數(shù)據(jù)錄入和數(shù)據(jù)冗余備份兩個方面的功能。
不同的方案體系,在數(shù)據(jù)庫的高可用性方面的表現(xiàn)會有所差異。就目前的情況看,雙機方案下集群的構(gòu)成條件方面,要求至少有一臺工作站上的數(shù)據(jù)庫系統(tǒng)保持正常狀態(tài);而對應的四機兩數(shù)據(jù)節(jié)點方案則要求兩個數(shù)據(jù)節(jié)點中至少有一個保持正常工作,管理節(jié)點同樣至少保持一個正常運行;相比之下四機四數(shù)據(jù)節(jié)點方案下,只需要任意一個數(shù)據(jù)節(jié)點保持正常即可,管理節(jié)點同樣有一臺正常即可。但是四機環(huán)境之下,系統(tǒng)初始化構(gòu)建數(shù)據(jù)庫集群的效率就會相對低下,雙機方案下能夠?qū)崿F(xiàn)隨操作系統(tǒng)同步啟動完成,但是對于四機環(huán)境則需要等待管理節(jié)點啟動之后才能實現(xiàn)構(gòu)建。而從穩(wěn)定性方面看,尤其是在系統(tǒng)納入新節(jié)點這一過程上的耗時方面,雙機方案表現(xiàn)并不穩(wěn)定,需要取決于納入節(jié)點二進制日志增量提及,但是對于四機系統(tǒng)而言,通常可以在10 s之內(nèi)完成,集群穩(wěn)定性會更優(yōu)。當面對故障的時候,數(shù)據(jù)故障點切換方面,雙機方案依據(jù)地址漂移技術(shù)來予以實現(xiàn),通??梢栽?0 s之內(nèi)完成,但是四機節(jié)點時間會比較長,四機兩數(shù)據(jù)節(jié)點方案下通??梢栽?0 s內(nèi)完成,但是對于四數(shù)據(jù)節(jié)點而言,嚴重的時候會達到60 s上下。對于更新指令的執(zhí)行效率,雙機系統(tǒng)同樣標下良好,能夠?qū)崿F(xiàn)最多7 000條/s速率,但是四機兩數(shù)據(jù)節(jié)點方案下卻只能處理1 500條/s,而四機四數(shù)據(jù)節(jié)點處理能力只有800條/s左右。
從當前MySQL數(shù)據(jù)庫的高可用性方案實現(xiàn)以及應用特征的角度看,其核心需求體現(xiàn)在對于響應時間,以及故障切換能力等方面,同時對于服務本身的無縫連接,以及海量數(shù)據(jù)的存儲和數(shù)據(jù)庫本身的鏡像機制等方面,也都必須納入到考察的范圍之內(nèi)。在這樣的綜合考量之下,可以發(fā)現(xiàn)雙機服務器MySQL數(shù)據(jù)庫系統(tǒng),以及四機服務器MySQL數(shù)據(jù)庫在當前的應用環(huán)境中,分別表現(xiàn)出不同的工作特征,并且服務于不同的應用領(lǐng)域,而對應的在這樣兩個方面的核心技術(shù),也成為目前該領(lǐng)域中的關(guān)注重點:
對于雙機服務器MySQL數(shù)據(jù)庫系統(tǒng)而言,互備份機制、地址漂移技術(shù)以及后臺延時復制是其有效提升可用性的核心手段。其中互備份機制即由兩臺服務器組成一個體系,將數(shù)據(jù)庫的服務端分別安裝在兩臺服務器上,而客戶端則通過網(wǎng)絡展開訪問。該方案之下的兩臺服務器分主從形式,其中主機將日志文件登記在本地,并且以增量工作方式展開對于從機的更新。但是該技術(shù)黨主服務器出現(xiàn)故障的時候,會直接導致客戶端無法獲取有效服務,并且在頻繁操作的情況下,可能會出現(xiàn)計算資源占用過大的問題。而地址漂移技術(shù)則主要用于實現(xiàn)面向客戶的透明主備切換。由于兩個服務器需要共用IP地址展開服務,因此該技術(shù)的存在實際上在于對IP地址實現(xiàn)協(xié)調(diào)和管理的作用。而后臺延時復制技術(shù)在該體系中,則主要面向于哪些時效性要求較高的數(shù)據(jù),展開對應服務,確保主次數(shù)據(jù)庫之間的實時同步;而對于實時性要求比較弱的數(shù)據(jù),后臺進程使用mysqldump 命令定時從數(shù)據(jù)庫主機上將數(shù)據(jù)導入備機。
而對于四機服務器MySQL數(shù)據(jù)庫,實現(xiàn)其高可用性的核心技術(shù)在于MySQL Cluster,該技術(shù)是一種基于無共享的數(shù)據(jù)庫集群技術(shù),即網(wǎng)絡節(jié)點之間不提供文件共享。實際工作中,依據(jù)不同服務可以進一步分為三個層次,即SQL訪問層、數(shù)據(jù)存儲層以及節(jié)點管理層,分別擔負不同職責,共同實現(xiàn)整個系統(tǒng)的運行。MySQL Cluster技術(shù)在應用環(huán)境中具有良好的健康水平,一旦數(shù)據(jù)節(jié)點出現(xiàn)故障,服務節(jié)點仍然可以依據(jù)其他數(shù)據(jù)節(jié)點來展開對應的服務。
對于MySQL數(shù)據(jù)庫系統(tǒng)的HA技術(shù)而言,當前已經(jīng)成為其有效展開服務的重要技術(shù)之一,并且以一種毋庸置疑的發(fā)展狀態(tài),占據(jù)了該領(lǐng)域中的重要位置。在實際工作中,對于大型實時控制需求,HA技術(shù)在故障切換能力、容錯性能和響應時間等多個方面都表現(xiàn)良好,在未來必然呈現(xiàn)出蓬勃生命力。
[1]陳冠華.基于消息中間件的高可用MySOL集群的研究[J].華中科技大學學報(社會科學版),2012,14(08).
[2]王明宇,王波.數(shù)據(jù)庫集群系統(tǒng)高可用性的研究與應用[J].中國人民解放軍國防科技技術(shù)大學學報(社會科學版),2013,14(07).