數(shù)據(jù)庫遷移之不可忽視的輕
原創(chuàng)在上一篇文章中,我們一起討論了為什么會發(fā)生數(shù)據(jù)庫遷移,其中我們討論出主要原因是廠商出于控制成本,會由高成本的數(shù)據(jù)庫產(chǎn)品遷移到好用,成本又低的數(shù)據(jù)庫產(chǎn)品上。那么,如果成本是可以控制的,是不是數(shù)據(jù)庫遷移就不會發(fā)生了呢?答案是否定的。即使成本可以控制,數(shù)據(jù)庫的遷移仍然會發(fā)生,這是為什么呢?
因為,此時廠商要考慮的問題也發(fā)生了遷移,由處于成本的考慮改為考慮數(shù)據(jù)庫本身是否“給力”。那么考慮的因素都有哪些呢?最主要的是考慮高可用性容災(zāi)及故障恢復(fù)的能力。
可用性容災(zāi)及故障恢復(fù)的能力
高可用性的含義是什么?
高可用性(High Availability)基本上表示用戶可以訪問數(shù)據(jù),他們不在乎數(shù)據(jù)是從哪里來的,他們只在乎能不能夠訪問。我們在書中做了一個比喻,高可用就像是安一個燈泡,你希望它能永遠(yuǎn)不滅,你無須思考讓它發(fā)亮背后的原理。
那么在后端,高可用性意味著什么?
你必須確保能夠應(yīng)對各種各樣的故障場景,你需要考慮到人為故障、硬件故障等等。然后你要構(gòu)建冗余,把一切可能性都計算在內(nèi),向最好的目標(biāo)努力,但同時要做最壞的打算。
高可用性的對比:
說到高可用的時候,各家都有話說:
微軟:當(dāng)微軟用戶提到高可用性時,他們首先想到的會是AlwaysOn。這是SQL Server下代數(shù)據(jù)庫中的一大亮點。通過采訪微軟SQL Server中國研發(fā)中心 BPUM團隊的項目經(jīng)理黃漢杰得知:微軟一直致力于研究高可用性,每一個版本或者增加了新的高可用性功能,又或者改進了現(xiàn)有的功能,在下一代產(chǎn)品中引進了一種新的技術(shù)AlwaysOn以提高其高可用性。
Oracle:當(dāng)Oracle用戶提到高可用性時,他們首先想到的會是Oracle RAC。Scott Jesse表示RAC雖然是高可用性的基礎(chǔ),但并不是Oracle的全部。除了RAC,你還可以使用像Data Guard這樣的產(chǎn)品來保護你的數(shù)據(jù)庫,這里會用到所謂的閃回技術(shù)來確保備份計劃的完整性。
DB2:當(dāng)DB2用戶提到高可用性時,他們首先想到的會是HADR。DB2說我們以圖說話:
注:處于備用角色的數(shù)據(jù)庫不能被訪問。
遷移風(fēng)險性與安全性
除了高可用性,大家還會考慮什么呢?答:遷移風(fēng)險性與安全性。
遷移是一定會有風(fēng)險的,何如控制風(fēng)險,讓風(fēng)險盡量的小呢?黃漢杰先生表示,在遷移之前,我們都會有詳細(xì)的部署,以控制遷移中風(fēng)險的產(chǎn)生。比如,通過鏡像的方法就可以最大限度的減少客戶不能訪問的時間;利用一些現(xiàn)有的遷移工具輔助遷移的進行。
遷移過程中,是否存在安全風(fēng)險呢?帶著這個問題,我們再次找到黃漢杰先生。他表示,在遷移過程中,數(shù)據(jù)是處于安全狀態(tài)的。危險可以產(chǎn)生在遷移前或遷移后,但是在遷移過程中,是沒有安全風(fēng)險的。就像之前說到的一樣,通過遷移前的一系列的部署,遷移過程中,安全是可以得到保證的。
總結(jié)
與之前的文章合二為一的閱讀,會發(fā)現(xiàn)為什么要進行數(shù)據(jù)庫遷移?說來很簡單,就三點理由。
降低成本。作為一名天生很摳的老板,你一定想降低成本之后再降低成本吧?這是你作為老板天生的本性??墒乾F(xiàn)在的數(shù)據(jù)庫已經(jīng)被你榨得油干燈盡了。怎么辦?遷移吧。
提升性能。作為老板,誰不想讓馬兒跑得又快又歡,當(dāng)然,省錢是必須的。靈活的環(huán)境是必須要創(chuàng)建滴,業(yè)務(wù)目標(biāo)也需要與IT基礎(chǔ)架構(gòu)聯(lián)系起來,最重要的是,新的數(shù)據(jù)庫一定要能夠顯著提升企業(yè)價值。
減少風(fēng)險。雖然馬克思說過,有300%的利潤,資本家就會冒著上斷頭臺的危險去從事利潤。不過話說回來,做數(shù)據(jù)庫遷移,風(fēng)險卻是最大的忌諱。咱做遷移,要是不能保證風(fēng)險更低,誰干吶?新的可伸縮集群數(shù)據(jù)庫以及運行大量事務(wù)處理的應(yīng)用程序,在減少管理和軟件成本的同時,也能企業(yè)降低系統(tǒng)的運行風(fēng)險,何樂而不為啊。
附錄:
HA三種工作方式
(1)主從方式 (非對稱方式)
工作原理:主機工作,備機處于監(jiān)控準(zhǔn)備狀況;當(dāng)主機宕機時,備機接管主機的一切工作,待主機恢復(fù)正常后,按使用者的設(shè)定以自動或手動方式將服務(wù)切換到主機上運行,數(shù)據(jù)的一致性通過共享存儲系統(tǒng)解決。
(2)雙機雙工方式(互備互援)
工作原理:兩臺主機同時運行各自的服務(wù)工作且相互監(jiān)測情況,當(dāng)任一臺主機宕機時,另一臺主機立即接管它的一切工作,保證工作實時,應(yīng)用服務(wù)系統(tǒng)的關(guān)鍵數(shù)據(jù)存放在共享存儲系統(tǒng)中。
(3)集群工作方式(多服務(wù)器互備方式)
工作原理:多臺主機一起工作,各自運行一個或幾個服務(wù),各為服務(wù)定義一個或多個備用主機,當(dāng)某個主機故障時,運行在其上的服務(wù)就可以被其它主機接管。
【編輯推薦】
- 數(shù)據(jù)庫遷移之何去何從
- SQL Server數(shù)據(jù)庫遷移偏方
- SQL Server數(shù)據(jù)庫恢復(fù)案例分享
- SQL Server數(shù)據(jù)庫最小宕機遷移方案
- 給你大型數(shù)據(jù)庫遷移的五大建議