在AWS公布競(jìng)爭(zhēng)對(duì)手服務(wù)六個(gè)月后,很明顯MongoDB的 Atlas托管云服務(wù)保持了真正的發(fā)展勢(shì)頭。雖然判斷AWS服務(wù)的影響還為時(shí)尚早,但幾周前宣布的 MongoDB最新季度業(yè)績(jī)顯示,Atlas目前占總收入的35%,同比增長(zhǎng)340%。雖然去年秋天通過(guò)mLab收購(gòu)獲得了很大一部分,但卻增加了成千上萬(wàn)的小規(guī)模自助服務(wù)用戶的長(zhǎng)尾,有機(jī)增長(zhǎng)占據(jù)了收入的最大份額。
增長(zhǎng)對(duì)Mongo來(lái)說(shuō)并不陌生。該公司與MySQL之類的玩家分享了類似的軌跡,在此之前,SQL Server始于開(kāi)發(fā)人員。SQL開(kāi)發(fā)人員認(rèn)為SQL Server具有高度可訪問(wèn)性,而MySQL在下一步采用開(kāi)源作為21世紀(jì)初LAMP堆棧的一部分。2018年是MongoDB 成長(zhǎng)的一年,因?yàn)樗龅搅朔浅3晒Φ奶魬?zhàn):模仿,不是作為一種奉承的形式,而是從其成長(zhǎng)路徑轉(zhuǎn)移 - 可能還有其開(kāi)發(fā)者基礎(chǔ)。MongoDB的是不是唯一的一個(gè)是改變了它的開(kāi)源許可證,但近一年來(lái)做出自己的更改后,阿特拉斯繼續(xù)重新定義了公司。
斯蒂芬妮·康登(Stephanie Condon)對(duì)上周發(fā)布的年度MongoDB世界大會(huì)上發(fā)布的公告進(jìn)行了詳盡的介紹。清單包括全文搜索,直接查詢?cè)拼鎯?chǔ),自動(dòng)縮放Atlas服務(wù),計(jì)劃將Realm與Stitch 集成,字段級(jí)加密和多文檔ACID事務(wù)等。
與大多數(shù)數(shù)據(jù)庫(kù)提供商一樣,MongoDB正在轉(zhuǎn)向云優(yōu)先戰(zhàn)略,在這些戰(zhàn)略中,新功能在內(nèi)部版本出現(xiàn)之前就會(huì)被引入托管服務(wù)。該公司目前正在維持大約3周的云更新節(jié)奏,同時(shí)保持內(nèi)部部署到年度重大更新。將會(huì)有一些功能在云中以不同方式實(shí)現(xiàn)。例如,由于MongoDB集成了Kubernetes運(yùn)營(yíng)商以使其服務(wù)在云中更具可移植性,因此計(jì)劃分別在其管理產(chǎn)品(包括Cloud Manager和Ops Manager)中添加對(duì)云和內(nèi)部部署的支持。但是在Atlas服務(wù)中,經(jīng)驗(yàn)將更加引導(dǎo)更高層次的聲明式方法。
從去年的許可變更到服務(wù)器端公共許可證(SSPL)的結(jié)果是,阻止第三方提供商將MongoDB的社區(qū)版商業(yè)化,實(shí)際上將在云中實(shí)現(xiàn)三層MongoDB服務(wù)。它不僅僅是MongoDB與所有第三方云的關(guān)系。
將會(huì)有仿真方法在不同的存儲(chǔ)引擎上使用與MongoDB 3.6兼容的API(早于當(dāng)前的4.x代),例如AWS DocumentDB和Microsoft Azure Cosmos DB使用的那些。這些服務(wù)的提供者指向80/20規(guī)則,聲稱它們提供MongoDB開(kāi)發(fā)人員使用的最常用功能。MongoDB反駁說(shuō),這些服務(wù)的技術(shù)基礎(chǔ)將日益過(guò)時(shí); 可能的是,流行的新功能將獲得專有的等價(jià)物。
但也有第三方云提供商將提供最新的MongoDB核心平臺(tái)功能。它們是第二層云提供商,例如IBM和SAP,它們提供完全許可的MongoDB商業(yè)版本。這些云提供商可以將MongoDB作為托管服務(wù)提供,但它不是Atlas。后者僅受AWS,Microsoft Azure和Google Cloud平臺(tái)上的MongoDB支持。除了擁有MongoDB品牌外,還有其他服務(wù)只能在Atlas上使用,例如MongoDB Data Lake(盡管它的名稱,它本身不是托管數(shù)據(jù)湖,而是對(duì)云中數(shù)據(jù)的直接查詢服務(wù))對(duì)象存儲(chǔ),這是事實(shí)上的數(shù)據(jù)湖)。
但正如我們?nèi)ツ晁赋龅哪菢?,MongoDB作為一個(gè)企業(yè)數(shù)據(jù)庫(kù)被認(rèn)真對(duì)待,它必須關(guān)注一些不那么性感的東西。在早期,它是關(guān)于聚合框架,使查詢更加通用,用于分組實(shí)體的過(guò)濾操作。最近,它一直是關(guān)于交易處理的,這是自有線虎存儲(chǔ)引擎分階段以來(lái)的一段旅程。最新的部分,包括4.0版本首次亮相的多文檔交易,以及上周發(fā)布的4.2版本中的分布式事務(wù),都是讓MongoDB考慮更多任務(wù)關(guān)鍵型應(yīng)用程序的難題。
這導(dǎo)致了我們真正的睡眠。一家大型財(cái)產(chǎn)和意外險(xiǎn)保險(xiǎn)公司一直在尋求重新平衡其基于大型機(jī)的政策管理系統(tǒng)?;氐角ъ曛H,傳統(tǒng)觀點(diǎn)認(rèn)為關(guān)系數(shù)據(jù)庫(kù)將是企業(yè)數(shù)據(jù)庫(kù)的最終狀態(tài)。但是許多大型機(jī)數(shù)據(jù)存儲(chǔ)被證明是有抵抗力的,因?yàn)閿M合它們復(fù)雜的,分層的或網(wǎng)絡(luò)化的數(shù)據(jù)會(huì)使關(guān)系轉(zhuǎn)換成為方形 - 圓孔問(wèn)題。因此,在銀行和金融領(lǐng)域,許多遺留數(shù)據(jù)庫(kù)繼續(xù)存在,IBM不斷推出新的大型機(jī)。但是這家保險(xiǎn)公司將JSON文檔模型視為跳過(guò)關(guān)系生成的一種方式,然后將核心策略管理系統(tǒng)重新平臺(tái)化到MongoDB上。