IT行業已經進入了雲時代,未來越來越多的企業IT基礎架構將會部署在公用雲端、私人雲端或者混合雲上,而資料庫作為IT基礎架構中最重要的部分與雲的結合將變得非常重要。SQL Server 2014打通了公用雲端與組織內部的關係,無論是運行在企業內部還是運行在Microsoft Azure虛擬機器上,SQL Server 2014直接支援將資料檔案和日誌部署到Microsoft Azure公用雲端儲存,從而可以無縫打通公用雲端和私人雲端的邊界,架構如圖1所示。
圖1.SQL Server 2014直接支援將資料庫檔案部署在Azure Blob
為什麼需要將SQL Server資料檔案部署在Microsoft Azure
將資料直接部署在Azure Blob儲存中可以直接帶來諸如效能、資料移轉、資料虛擬化、高可用和災備方面的好處。但最主要適用情境和優勢如下:
可移植性:在Azure虛擬機器環境下,將資料部署在Azure Blob中會更加容易移植,只需要簡單將資料庫分離,並附加到另一台Azure虛擬機器中即可,無需移動資料庫檔案本身。
資料庫虛擬化:在為租戶提供服務的雲環境中,可以結合SQL Server 2012之後的包含資料庫特性,將負載較高的虛擬機器上的資料庫平滑移動到其他虛擬機器上,從而不會影響該虛擬機器環境的正常運行。
高可用和災備:由於現在資料庫檔案位於Microsoft Azure的Blob儲存上,因此即使虛擬機器本身崩潰,只需要將資料庫檔案附加到另一台備機上即可。資料庫可以在很短的時間內恢複並且資料本身不受虛擬機器損壞的影響,從而保證了高RTO和RPO。
可擴充性:無論在Azure虛擬機器上還是在企業內部,儲存的IOPS都收到具體環境的限制,而在Azure Blob儲存上,IOPS可以非常高。
SQL Server 2014與Azure Blob儲存的全新互動模組並不僅僅是在現有軟體環境中的一個適配機制,而是直接整合於SQL Server儲存引擎。資料訪問機制如圖2所示。
圖2.資料庫檔案在Azure Blob上的資料訪問機制
由圖2可以看出,該資料互動機制不再需要虛擬機器通過宿主機和IO通道進行互動,此時虛擬機器可以直接通過REST API調用儲存。從而比在虛擬機器上直接存取本機存放區有更好的效能。