Azure云數據庫服務進入下一代應用
微軟公司將針對下一代應用程序通過新的遷移功能、開源支持以及全球化可擴展數據庫來升級其云數據庫服務。
微軟已經開始實施其下一代云數據庫服務的戰略,這個戰略的主要目標旨在更廣泛地將Azure推廣至更多類型的工作負載和位置。
但是需要質疑的是,本周在微軟Build開發者大會上推出的***云服務——微軟Azure Cosmos DB是一個完全托管的NoSQL云數據庫服務,它可在Azure全球區域范圍內橫向地擴展吞吐量和存儲空間。這個服務主要以下一代應用程序為目標,例如主要依賴于物聯網(IoT)和人工智能的移動應用程序或工作負載,而這正是微軟公司針對其他主要公共云廠商進入這一領域的響應,即亞馬遜Aurora和谷歌云Spanner。
這些數據庫服務并不適用于對公共云的擴展與遷移方法,而是適于具有巨大橫向規模需求的較新應用程序,最終用戶越來越需要與客戶實現全球性的連接。很多企業可能不需要這些類型的產品,但顯而易見,在傳統企業中有公司需要更好地使用公共云。而諸如微軟和谷歌這樣的廠商就可以實現這類能夠在全球范圍內解決他們自己問題的內部工具的產品化。
Cosmos DB是云如何重新打造數據庫市場的***佐證,總部位于英國倫敦Ovum的分析師Tony Baer說。
“由于云具有彈性原理、廉價的存儲以及可跨多個區域進行復制的功能,這意味著用戶可以再看一下建立數據庫的接受原則,”他說。“你基本上就可以拋開規則手冊并重新開始。”
專為寫操作進行優化的 Cosmos DB提供了個位數毫秒的延遲并確保一致性和高可用性符合SLA。客戶們可以通過簡單點擊操作增加或刪除區域、復制無論在何處的用戶數據,并使用單個API調用在每一秒鐘內處理數以億計的請求。客戶只需為所使用的存儲資源和吞吐量支付費用,只需簡單點擊操作就可增加或刪除區域 。
這里沒有模式或索引管理,而Cosmos DB旨在支持幾乎所有的數據模式,其中包括圖表、鍵值和文檔等模式。它還提供了五個可供從中選擇的一致性模式:強一致性、最終一致性、限制陳舊一致性、會話一致性以及前綴一致性。
每一家廠商的下一代數據庫都有著其各自的優缺點,而Cloud Spanner被認為在一致性方面是超前的,特別是因為它遵循了關系型數據庫模式的事實標準。盡管如此,雖然非關系型更傾向于破壞一致性和結構,但Cosmos DB是廠商為能夠克服這些限制所作出的***努力。
“我們開始看到一些諸如Cosmos DB這樣的用例,它宣稱他們支持ACID的遵從性(原子性、一致性、隔離性以及耐用性)和強大一致性,”Gartner公司的研究總監 Adam Ronthal說。“它擴展了用戶案例的類型,用戶可以使用新的編程范例和新的API以更適合開發人員的方式來考慮這些問題。”
Cosmos DB來源于DocumentDB 并比后者更通用,它可能更適用于依靠圖形數據來確定節點和對象是如何相關的應用,例如社交網絡, Ronthal說。云數據庫服務可能不太適合金融交易或分析等應用,但是它能夠作為一個穩健運行的數據庫,Baer說。盡管如此,微軟公司似乎也通過這一全球化的方法投入了廣泛的網絡,這種方法提供了許多方法來進行配置以實現一致性。
Cosmos DB并不是微軟公司在推出的唯一一個數據庫新聞。Azure 數據庫遷移服務(目前為受限制的預覽版)可自動化完成內部部署數據庫至Azure的評估、模式轉換和數據傳輸。這項數據庫遷移服務可用于SQL Server、Oracle和MySQL數據庫,并以Azure虛擬機中的SQL Database、Azure SQL Database Managed Instance或Microsoft SQL Server為目標。
推出的另外兩個托管數據庫服務是Azure Database for MySQL和Azure Database for PostgreSQL,它們都是微軟公司正試圖趕上競爭對手的產物,這也重申了微軟轉而采用開源的態度。MySQL 和PostgreSQL 都是流行的開源數據庫選項,但是PostgreSQL支持是最接近Oracle數據庫的事物。亞馬遜網絡服務在去年也增加了類似的功能,而甲骨文公司則通過對在AWS和Azure上運行其數據庫進行加價來做出響應,因為它試圖讓更多的客戶使用它的重構公共云。
但是,Ronthal表示了懷疑,他認為這樣的遷移服務是否能夠解決在不同數據庫之間進行遷移的三個主要方面:模式轉換、數據遷移與應用程序轉換。
“正如微軟公司之前公布的那樣,大多數遷出亞馬遜的數據遷移事實上只是在任何有意義的方面擅于跟風呢,”Ronthal說。“你仍然有大量的工作要做,需要重寫應用程序并讓新的應用程序能夠在新平臺上正常運行。”
使用Azure擴展物聯網和無服務器
微軟公司還推出了一些其他的服務,以支持Azure并模糊其公共云與更廣泛范圍之間的界限。其中所包括的Azure IoT Edge擴展了公共云直接連接物聯網設備的一些功能,然后在Azure中編寫的代碼將擴展至周邊設備。它還可與Azure機器學習、Azure Stream Analytics、Azure Functions、Azure 物聯網集線器和微軟Cognitive Service集成。
年在大會上推出的Azure Functions功能也在本周有所擴展。在這些更新中,Azure Functions可擴展至 Visual Studio 2017 和Azure Functions Runtime,這是在內部部署中使用該服務的另一種方法。