開啟SQL Server Denali之旅:AlwaysOn
上文開啟SQL Server Denali之旅:字段存儲(chǔ)索引中介紹了字段存儲(chǔ),它是SQL Server引擎的一種新型索引。通過一種名為VertiPaq的新數(shù)據(jù)架構(gòu)支持,相對(duì)于常規(guī)的索引,它的設(shè)計(jì)能夠?qū)崿F(xiàn)了顯著的性能提升。本文介紹SQL Server Denali引進(jìn)的另一種新的技術(shù)AlwaysOn。
AlwaysOn
SQL Server的每一個(gè)版本或者增加了新的高可用性功能,又或者改進(jìn)了現(xiàn)有的功能。但是,其中幾個(gè)可行的方法,如數(shù)據(jù)庫鏡像、日志傳送或SQL Server集群,但是每一個(gè)方法都有自身的缺點(diǎn);您在選擇技術(shù)時(shí)必須有所取舍。
SQL Server Denali引進(jìn)了一種新的技術(shù)AlwaysOn,或High Availability Disaster Recovery (HADR)。根據(jù)Microsoft的介紹,它的開發(fā)是一個(gè)重要的工程項(xiàng)目,需要付出的努力會(huì)超過90年代后期在Microsoft和原開發(fā)伙伴 Sybase Inc.開始各自開發(fā)數(shù)據(jù)庫之后對(duì)7.0版本的SQL Server引擎的重寫。通過根據(jù)用戶反饋增加新的功能,我們可以將AlwaysOn看作是數(shù)據(jù)庫鏡像和集群的最佳組合。
例如,雖然數(shù)據(jù)庫鏡像只支持一個(gè)數(shù)據(jù)庫,但是往往一個(gè)數(shù)據(jù)庫會(huì)訪問同一個(gè)服務(wù)器上的其它數(shù)據(jù)庫的對(duì)象。因此,假設(shè)Database A通過視圖或同義詞訪問了Database B上的對(duì)象;這些檢索只有在這些數(shù)據(jù)庫都在同一臺(tái)服務(wù)器上才可以運(yùn)行。但是如果Database A因?yàn)楣收隙D(zhuǎn)移到鏡像服務(wù)器上,那么對(duì)Database B上對(duì)象的引用將會(huì)失效,而且您的應(yīng)用程序會(huì)開始產(chǎn)生錯(cuò)誤。
為了支持鏡像環(huán)境的數(shù)據(jù)庫交叉依賴,AlwaysOn引進(jìn)了一個(gè)可用性組。您可以將一組數(shù)據(jù)庫定義為一個(gè)可用性單元;然后它們將作為一個(gè)整體進(jìn)行故障轉(zhuǎn)移,這樣您的數(shù)據(jù)庫交叉引用就能夠保留正常運(yùn)行。AlwaysOn也讓允許您為主數(shù)據(jù)庫配置幾個(gè)副本。這些副本可以是只讀的,僅作為報(bào)告的用途。如果您的主數(shù)據(jù)庫失效,那么其中一個(gè)副本就會(huì)接管主數(shù)據(jù)庫。
對(duì)于很多業(yè)務(wù),這些改進(jìn)的HADR功能將是SQL Server Denali升級(jí)的最主要原因?,F(xiàn)在,很多電子商務(wù)數(shù)據(jù)庫需要支持24/7運(yùn)行模式,而且即使是一個(gè)很短的中斷也會(huì)讓您損失收益和丟失客戶。因此,一個(gè)支持最小停機(jī)時(shí)間的無縫故障轉(zhuǎn)移和簡(jiǎn)化在副服務(wù)器上啟動(dòng)主數(shù)據(jù)庫的高可用性方法能夠?qū)崿F(xiàn)較高的投資回報(bào)。
【編輯推薦】