解讀Windows Azure SQL數據庫的優勢
Windows Azure是微軟公司的云基礎架構平臺,它已經成為了微軟公司整體戰略的一個主要部分,而Windows Azure SQL 數據庫(前身叫做SQL Azure),也成為了Windows Azure本身的一個主要組件。
微軟公司對Azure是有野心的,尤其是對Windows Azure SQL數據庫(為簡單起見,下文將簡稱SQL Azure),它的意義不只是在云服務中提供數據庫支持,更是為了創建支持PB級“大數據”乃至一切規模數據量的基礎設施。
相比于創建自己的SQL Server實例,使用SQL Azure有什么優勢呢?下面是一些關鍵優勢,尤其是對于那些自己內部運行SQL Server的情況更加適用。
使用已有工具。使用SQL Azure可以通過sqlcmd或者SQL Server Management Studio來操作,SQL開發人員應該對這兩種工具都不陌生。
不需要管理實體。你一定厭倦了設置SQL Server,配置數據庫,清理物理服務器等常規的令人煩擾的工作,把你的數據庫托管以后這些事就變成了別人的工作,這是一大利好。如果你是在從頭開始,那這種方式的優勢就更大了,你都不需要把現有數據存儲導入到云服務中去。
開箱即用的高可用性。Azure通常消除了構建高可用性架構的需求。這一點對于SQL Azure也是一樣的,任何構建于其中的數據庫都自動具備了高可用性。
可擴展的服務規劃滿足多種需求和預算。SQL Azure企業級的特性對于相對簡單的需求看起來似乎有點小題大做,但是微軟公司已經采取措施使SQL Azure同時能吸引大型和中小型商業用戶。首先,微軟建立了一套定價結構,支持有較小需求的用戶;你可以為數據庫每月支付***4.99美元的費用,每個數據庫的***存儲可以達到150GB。
彈性。這是一個多被濫用的流行詞,但是對于SQL Azure,它是名副其實的。為多個數據庫編寫的應用可以通過按需增加實例用Azure擴展。也就是說,SQL Azure***的益處并不只是按需增加或減少節點個數。微軟公司還提供了一套聯邦基礎架構來更容易地擴容,影響更小,還有SQL Azure聯邦數據遷移向導更進一步使流程自動化。
對于非微軟技術的支持逐步增加。微軟公司能跨Azure所有不同層支持的第三方軟件技術越多,人們就更可能使用它來構建應用并與他們已經使用的軟件做兼容。除了Python、NoSQL、Java、node.js和PHP已經在整個Azure架構中得到支持之外,另外一項主要的而且非常關鍵的專門應用于SQL Azure的技術是Hadoop。Azure系統中的Hadoop(Windows Azure HDInsight)目前只能通過邀請方式使用,但它的存在是意義重大的。
如果你需要的話可以通過VM使用它。SQL Azure宣稱成為整體架構一部分的方式之一就是提供了多層次實施。如果你只是需要一個網站和數據庫,你可以給Azure網站選擇一個SQL Azure實例來完成。如果你需要一個成熟的虛擬機(VM),你也可以做的很好——甚至可以使用在虛擬機中本地部署的SQL Server實例來替代SQL Azure。
同步和遷移工具。如果你已經有了一套SQL Server存儲的數據,想同步到SQL Azure或者想通過同步功能被動遷移來完成。使用該服務本身是免費的,所有入站Azure的數據不會收取任何費用,因此你不必擔心同步GB數量級表會消耗巨大成本。
所有現有用于在SQL Server實例之間遷移數據的工具都是可用的。你可以使用微軟同步框架來做這項工作,也可以使用T-SQL腳本、bcp工具或者SQL 數據庫遷移向導來做(盡管微軟公司對***一個不做支持)。