SQL Server數(shù)據(jù)庫:虛擬化 VS 多實例
今天的IT界,虛擬化可謂是發(fā)展最迅速的技術(shù)之一。推動其快速發(fā)展的動力在于虛擬化技術(shù)能夠消除服務(wù)器和基礎(chǔ)硬件設(shè)備之間的相互依賴,使我們能夠在單個硬件平臺上運行多個虛擬機,并且能夠很輕松地將虛擬機(機器附帶的基礎(chǔ)客戶操作系統(tǒng)和服務(wù)器)轉(zhuǎn)移到不同的硬件平臺。很多企業(yè)都已經(jīng)將這種技術(shù)作為服務(wù)器整合的方法。但是虛擬化技術(shù)并不是整合服務(wù)器的唯一途徑。與微軟的其他服務(wù)器產(chǎn)品不同,SQL Server 自2000以后的版本,都能夠在同一系統(tǒng)下支持多SQL Server實例。SQL Server對多服務(wù)器實例的支持使我們能夠在同一個服務(wù)器上運行多個SQL Server數(shù)據(jù)庫引擎。SQL Server 2005的企業(yè)版支持多達(dá)50個服務(wù)器實例?;ヂ?lián)網(wǎng)服務(wù)器供應(yīng)商和其他需要有主機提供服務(wù)的情況下,往往會用采用多SQL serve實例,以便大量的客戶都能夠自己控制自己的SQL Server數(shù)據(jù)庫服務(wù)器而不要專門的硬件平臺支持。那么虛擬化和多SQL server實例之間有什么異同,孰優(yōu)孰劣,我們又該如何選擇呢? 這兩種服務(wù)器整合方案的主要一個主要區(qū)別在于,虛擬化是服務(wù)器水平的技術(shù),而多實例是操作系統(tǒng)水平的技術(shù)。如果你運行的是多SQL Server實例,所有的實例都不虛運行在相同的Windows Server操作系統(tǒng)上。虛擬化則實現(xiàn)了更細(xì)粒度的操控,因為每一臺虛擬機都需要有自己的操作系統(tǒng)。例如,一臺虛擬機運行在裝有SQL Server 2005的Windows Server 2003系統(tǒng)下,而在同一個服務(wù)器下的另一臺虛擬機則可能運行在裝有SQL Server 2000的Windows 2000系統(tǒng)下。 在選擇過程中,首先要考慮的因素,而且在大多數(shù)情況下也是最重要的因素就是性能。由于本身的屬性決定了虛擬化服務(wù)器不會提供與物理服務(wù)器水平相當(dāng)?shù)男阅埽驗樘摂M環(huán)境造成的額外開銷要從性能來抵消。大多數(shù)情況下,估計虛擬機造成的額外開銷約為10%-15%。在服務(wù)器整合環(huán)境下,由于其他虛擬機所支持的工作負(fù)荷的關(guān)系,這種對性能造成的沖擊可能更為嚴(yán)重。相比之下,運行在物理硬件上的服務(wù)器實例,除了在服務(wù)器實例上運行查詢所產(chǎn)生的工作負(fù)荷之外,不會產(chǎn)生任何額外的開銷。 在管理方面,虛擬化和服務(wù)器實例很相似,但是運行多SQL Server有幾個優(yōu)勢,比管理虛擬機要更為輕松。因為只需安裝一套操作系統(tǒng)和服務(wù)器軟件,所以服務(wù)器實例需要打補丁的機會更少。而對于虛擬化服務(wù)器而言,每個虛擬機都擁有自己的客戶操作系統(tǒng)和服務(wù)器產(chǎn)品,都需要獨立的管理和打補丁。這兩種解決方案中,都要用到企業(yè)管理器和SQL Server Management Studio來執(zhí)行服務(wù)器管理任務(wù)。 而在部署和恢復(fù)方面,虛擬化技術(shù)則更有競爭優(yōu)勢。通過虛擬化,構(gòu)建可以部署到新的服務(wù)器的基礎(chǔ)映像只需要短短幾分鐘的時間;而且,可以對虛擬鏡像進(jìn)行備份,或?qū)⑵鋸?fù)制到遠(yuǎn)程站點,這樣在發(fā)生故障時能夠在幾分鐘甚至數(shù)秒中之內(nèi)恢復(fù)連線。 考慮到虛擬機的多操作系統(tǒng)和多SQL Server安裝問題,另外還有一個需要衡量的因素就是使用許可。多 SQL server實例并不需要額外的 SQL server許可。SQL Server 2005企業(yè)版提供了多達(dá)50個實例,而不需要額外的許可費用。在這種情況下,對于單個服務(wù)器,你只需要支付購買一個Windows Server 操作系統(tǒng)、一個SQL Server以及客戶端訪問許可的費用即可。而對于虛擬化來說,你需要為各個虛擬機上的每個 Windows Server操作系統(tǒng),以及每個安裝的SQL Server都分別支付許可費用。也就是說,如果你運行了5臺虛擬機,而且每一個都包含了一套Windows Server和SQL Server的拷貝,那么你就要支付5個Windows Server許可、5個 SQL Server許可以及相應(yīng)的客戶端訪問許可費用。不過,Windows 2003 R2和Windows 2003企業(yè)版都支持4個Windows實例而不加收額外費用。賣價最為昂貴的Windows 2003數(shù)據(jù)中心版則支持無限制的虛擬Windows實例。同樣的,SQL Server 2005以及2008企業(yè)版,提供了無限制的虛擬機使用許可。 所有權(quán)和責(zé)任也是值得三思的重要因素。運行多SQL Server實例的責(zé)任通常會落在持有SQL Server系統(tǒng)的團(tuán)隊身上。而對于虛擬化,每個安裝了自己的操作系統(tǒng)和SQL Server的團(tuán)隊或部門都保留了自身的責(zé)任。
對于服務(wù)器整合計劃來說,這兩種都可能都是有效的解決方案,并不是非此即彼的選擇。你可以將SQL Server和虛擬化結(jié)合起來,在一個虛擬機里運行多SQL Server實例。不過請記住,即便虛擬化是當(dāng)今炙手可熱的技術(shù)也不意味著你就要單戀這一枝花。
