SQL Server 2014雲特性:無縫集成公有雲


本篇是我在IT168的約稿,原文地址:http://tech.it168.com/a2014/0620/1637/000001637358_all.shtml

 

    IT行業已經進入了雲時代,未來越來越多的企業IT基礎架構將會部署在公有雲、私有雲或者混合雲上,而數據庫作為IT基礎架構中最重要的部分與雲的結合將變得非常重要。SQL Server 2014打通了公有雲與組織內部的關系,無論是運行在企業內部還是運行在Microsoft Azure虛擬機上,SQL Server 2014直接支持將數據文件和日志部署到Microsoft Azure公有雲存儲,從而可以無縫打通公有雲和私有雲的邊界,架構如圖1所示。

clip_image002

圖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所示。

clip_image004

圖2.數據庫文件在Azure Blob上的數據訪問機制

    由圖2可以看出,該數據交互機制不再需要虛擬機通過宿主機和IO通道進行交互,此時虛擬機可以直接通過REST API調用存儲。從而比在虛擬機上直接訪問本地存儲有更好的性能。

 

將SQL Server數據文件部署在Microsoft Azure

    下面通過一個例子展示如何將SQL Server數據庫文件部署在Azure Blob存儲上。首先,需要在Azure存儲中建立存儲SQL Server數據庫文件的容器,如圖3所示。

clip_image006

圖3.建立存儲數據庫文件的容器

   

    將容器起名為testsqlfile,訪問類型為私有,容器名稱標識了數據庫文件的訪問地址,如圖4所示。

clip_image007

圖4.新建容器

 

    接下來,創建訪問容器的策略以及共享訪問簽名(shared access signature)。SQL Server需要這個策略和簽名才能夠與Azure存儲上的數據文件進行交互,創建策略和簽名的方式可以使用編程的方式,也可以使用REST APIs,在本例中,使用CodePlex現有的一個工具進行創建(可在http://azurestorageexplorer.codeplex.com 下載)。

    首先在Microsoft門戶中找到訪問存儲的賬戶名稱和訪問密鑰,如圖5所示。

clip_image009

圖5.找到賬戶名稱和訪問密鑰

 

    通過該工具創建策略以及訪問簽名,如圖6和圖7所示。clip_image011

圖6.創建策略

clip_image013

圖7.生成簽名

    簽名生成成功后,可以通過下述代碼在SQL Server中建立訪問Azure存儲容器的憑據:

CREATE CREDENTIAL [https://portalvhdss6xh8nlhcph8b.blob.core.windows.net/sqldata] 

WITH IDENTITY='SHARED ACCESS SIGNATURE',

SECRET = 'sr=c&si=NewPolicy&sig=%2FhFH82XmxmYSPgvc404WqbK6gIUFfrXmEkKxcmIogWA%3D'

   

    憑據建立完成后,在SQL Server 2014中就可以利用該憑據在Blob存儲上創建數據庫,在本示例中創建了3個數據文件和1個日志文件,總計31GB,創建用時36秒,,如圖8所示。

clip_image015

圖8.在Azure存儲上創建數據庫文件

   

    現在通過SQL Server Management Studio連接到Azure的存儲環境,就能夠看到剛剛創建的數據庫文件,如圖9所示。

clip_image016

圖9.在Azure Blob上創建的數據庫文件

 

總結

    SQL Server 2014與Microsoft Azure有了更深度的集成,並通過存儲引擎引隱藏了不必要細節,用戶可以用創建一個普通數據庫方式創建一個將數據庫文件存儲在Azure存儲上的數據庫,從而帶來性能、可用性、擴展性、災備甚至數據虛擬化方面的好處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM