凡是我們寫成功的程式大部分都會和資料庫進行互動,我們的資料庫也必須有必要的措施防止資料庫的崩潰。在我們學習高可用性解決方案之前我們都是用的資料庫備份和還原(如果你連這個都沒考慮到,那你寫的程式也太不安全了)。具體的備份的實作也有很多,比如說完整備份,差異備份……這裡都不具體說了,大家可以去另外學習。但是這些備份會浪費好多時間,且随着資料庫的增加幾何性的增長?當一個網站的資料庫發生故障時,我們不可能用備份的形式去完成資料庫的維護。比如你正在京東買東西,突然京東的資料庫伺服器硬碟壞了,你必須等待背景人員備份好資料庫後你才能去購買?或者目前半小時不能購買了以後你還會去京東買東西嗎?那這些問題如何解決呢?這就需要我今天說到的一些高可用性解決方案了。
高可用性解決方案:就是讓資料庫保持一直都能通路的狀态,進而不至于因為資料庫的異常而導緻網站或者程式不可用而影響(個人了解,歡迎拍磚)。其實就是我們通過一種方式,讓我們資料庫不會出現罷工,即使出現罷工也有使程式或者網站正常運作的方案。大家都在通路京東,當當,百度,騰訊,天貓等網站,運作這麼多年他們就沒有出現過問題?可是為什麼他們出現問題了以後我們這些使用者基本感覺不到呢?這就是因為他們都使用了高可用行解決方案。
以下這個系列的文章我都是以sql server 2008來描述的,從理論上說不通的資料庫都有類似的高可用性解決方案,大家可以自己去研究。下面介紹四種高可用性解決方案。
今天大家先知道這四種方案的名字吧。這四種方案是sql server提供給我們增加我們程式和資料庫安全性的“手段”。上面四個就是手段的名字。具體的内容我們以後一一學習。