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