MongoDB Cloud來(lái)了
每年6月是MongoDB舉辦技術(shù)大會(huì)的日子,這是MongoDB一年一度最大的活動(dòng),MongoDB重大技術(shù)的發(fā)布和未來(lái)產(chǎn)品路線(xiàn)也會(huì)在這次大會(huì)上發(fā)布,因此,是觀察MongoDB未來(lái)發(fā)展的最好機(jī)會(huì)。今年因?yàn)樾鹿诜窝滓咔榈脑颍瑫?huì)議改成了線(xiàn)上,大會(huì)名稱(chēng)變成了MongoDB.Live 2020,但是,大會(huì)承載的使命沒(méi)變。會(huì)上不僅發(fā)布了新的品牌——MongoDB Cloud,還有眾多重要發(fā)布,包括Atlas眾多新的功能(Atlas Search、Atlas Data Lake、Atlas Online Archive)、MongoDB Realm、MongoDB Charts、MongoDB Shell等,會(huì)上MongoDB的最新版本的MongoDB 4.4(beta版)也正式亮相。
釋放數(shù)據(jù)潛能
MongoDB是數(shù)據(jù)庫(kù)行業(yè)的后起之秀,但成長(zhǎng)非常迅速,已經(jīng)持續(xù)多年與Oracle、MySQL、SQL Server、PostgreSQL一起位列全球五大最流行的數(shù)據(jù)庫(kù),其影響力已經(jīng)超過(guò)傳統(tǒng)數(shù)據(jù)庫(kù)DB2。
在大會(huì)上,MongoDB 總裁兼首席執(zhí)行官 Dev Ittycheria透露了MongoDB公司的一些成長(zhǎng)數(shù)據(jù)。截至目前,MongoDB 社區(qū)版已下載超過(guò) 1 億次,在全球 100 多個(gè)國(guó)家及地區(qū)中擁有超過(guò) 1.8萬(wàn)家各種規(guī)模的企業(yè)客戶(hù)。根據(jù)Stack Overflow 在全球范圍內(nèi)進(jìn)行的開(kāi)發(fā)人員調(diào)查表明,連續(xù) 4 年MongoDB 被開(kāi)發(fā)人員評(píng)為全球范圍內(nèi)最受開(kāi)發(fā)人員青睞的數(shù)據(jù)庫(kù)。
“MongoDB 以釋放數(shù)據(jù)潛能為使命,我們致力于解決開(kāi)發(fā)人員的數(shù)據(jù)問(wèn)題。”Dev Ittycheria在演講時(shí)表示。
MongoDB 總裁兼首席執(zhí)行官 Dev Ittycheria
的確,由于 MongoDB 獨(dú)特的文檔模型和查詢(xún)語(yǔ)言使數(shù)據(jù)處理變得如此容易,很快擁有了一個(gè)熱愛(ài) MongoDB 的龐大開(kāi)發(fā)人員社區(qū)。當(dāng)時(shí)傳統(tǒng)數(shù)據(jù)庫(kù)已經(jīng)非常不適用于新型應(yīng)用程序,因?yàn)檫@些程序常常需要處理來(lái)自不同來(lái)源的多種格式的大量數(shù)據(jù),還要適應(yīng)競(jìng)爭(zhēng)日益激烈的市場(chǎng)。而傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)不靈活、無(wú)法水平擴(kuò)展,從而使其開(kāi)發(fā)緩慢且維護(hù)成本高昂。
MongoDB首席產(chǎn)品官Sahir Azam說(shuō),作為一種新的開(kāi)源通用數(shù)據(jù)庫(kù),MongoDB有三大核心技術(shù)優(yōu)勢(shì):
首先,是其文檔模型。文檔模型使數(shù)據(jù)處理變得容易,因?yàn)樗哂徐`活性,適用于廣泛的用例,并很好地映射了開(kāi)發(fā)人員在現(xiàn)代的、面向?qū)ο蟮木幊陶Z(yǔ)言中的工作方式。
第二,分布式系統(tǒng)。水平擴(kuò)展、冗余和工作負(fù)載隔離是現(xiàn)代數(shù)據(jù)庫(kù)的基本要求,因此分布式架構(gòu)十分必要的。
第三,可以在任何地方運(yùn)行。基于MongoDB可以開(kāi)始在筆記本電腦上進(jìn)行開(kāi)發(fā),在公司數(shù)據(jù)中心中運(yùn)行它,或者在公共云中對(duì)其進(jìn)行管理。
“當(dāng)然,傳統(tǒng)數(shù)據(jù)庫(kù)確實(shí)提供了對(duì)關(guān)鍵任務(wù)應(yīng)用程序至關(guān)重要的功能,但我們已經(jīng)將諸如傳統(tǒng)數(shù)據(jù)庫(kù)的這些關(guān)鍵功能,如事務(wù)、二級(jí)索引、聚合功能以及安全性和管理功能等整合到 MongoDB。” Sahir Azam說(shuō),這些功能的組合使得 MongoDB 具備以任何規(guī)模支持任何應(yīng)用程序的強(qiáng)大實(shí)力。這就是MongoDB 現(xiàn)在背后全球數(shù)百萬(wàn)開(kāi)發(fā)人員和成千上萬(wàn)企業(yè)青睞的原因。
從Altas到MongoDB Cloud
云數(shù)據(jù)庫(kù)已經(jīng)大勢(shì)所趨。Gartne此前發(fā)布的研究報(bào)告《The Future of the Database Management System (DBMS) Market Is Cloud》認(rèn)為,數(shù)據(jù)庫(kù)創(chuàng)新的主戰(zhàn)場(chǎng)已經(jīng)從傳統(tǒng)的本地市場(chǎng)轉(zhuǎn)到了云上,數(shù)據(jù)庫(kù)云服務(wù)是大趨勢(shì),將數(shù)據(jù)庫(kù)安裝在企業(yè)數(shù)據(jù)中心的服務(wù)器上已經(jīng)或者很快將成為一種“過(guò)時(shí)”的方法。
MongoDB對(duì)此也早有準(zhǔn)備,于2016推出了Atlas——這是MongoDB的云版本,由MongoDB來(lái)運(yùn)營(yíng)。Atlas自年推出以來(lái)取得了長(zhǎng)足發(fā)展,目前已經(jīng)落戶(hù)AWS、微軟Azure、谷歌GCP,并成為MongoDB的主要收入來(lái)源,在2021財(cái)年第一季度營(yíng)收中占比42%。
不過(guò),MongoDB對(duì)云市場(chǎng)有更大的期待。在本次大會(huì)上MongoDB推出了全新的云品牌MongoDB Cloud,旗下有三個(gè)產(chǎn)品,包括Atlas、Atlas Data Lake和Ream。
MongoDB首席產(chǎn)品官Sahir Azam
Atlas毫無(wú)疑問(wèn)是MongoDB Cloud品牌下最核心的產(chǎn)品。MongoDB一直在不斷打造和豐富Atlas的功能集。本次大會(huì)上展示了Atlas很多新的功能,比如自動(dòng)擴(kuò)展、Schema建議等。其中,Atlas的自動(dòng)擴(kuò)展功能可以根據(jù)工作負(fù)載實(shí)時(shí)、自動(dòng)進(jìn)行計(jì)算能力和存儲(chǔ)能力的擴(kuò)容,其最直接的受益是節(jié)省費(fèi)用;而Schema建議功能則可以對(duì)數(shù)據(jù)模型的建模提供建議,有助于性能優(yōu)化,目前這兩個(gè)功能目前都已正式上線(xiàn)。另外,Atlas Search也正式上線(xiàn)。Atlas Search具有類(lèi)似Google搜索類(lèi)似的全文本搜索功能,同時(shí)其還能夠統(tǒng)一對(duì)Atlas、AWS S3進(jìn)行查詢(xún),從而簡(jiǎn)化查詢(xún)和搜索工作。
MongoDB Cloud之下的另一個(gè)重磅產(chǎn)品是Atlas Data Lake,這個(gè)去年發(fā)布了Beta版,如今已經(jīng)正式上線(xiàn)。Atlas Data Lake允許用戶(hù)使用MongoDB查詢(xún)語(yǔ)言查詢(xún)存儲(chǔ)在AWS S3中的數(shù)據(jù)。這為用戶(hù)提供了更多存儲(chǔ)和查詢(xún)數(shù)據(jù)的靈活性。MongoDB還加強(qiáng)了Atlas Data Lake與Atlas、AWS S3之間的集成,實(shí)現(xiàn)了Atlas Data lake的在線(xiàn)歸檔( Atlas Online Archive),也就是說(shuō),用戶(hù)可以進(jìn)行設(shè)置,讓一部分冷數(shù)據(jù)自動(dòng)存儲(chǔ)到AWS S3中。
Atlas中部分新增的功能
MongoDB Cloud旗下的第三個(gè)重磅產(chǎn)品是Realm,它來(lái)自于去年收購(gòu)的嵌入式數(shù)據(jù)庫(kù)公司Realm。Realm主要運(yùn)行在移動(dòng)設(shè)備,如今Realm可以自動(dòng)實(shí)現(xiàn)Realm中的數(shù)據(jù)同步并將其從移動(dòng)設(shè)備備份到MongoDB Cloud中,這想必是此次Realm被納入MongoDB Cloud中的一個(gè)重要原因。對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),這種同步能力讓它們可以更輕松地在移動(dòng)設(shè)備上處理數(shù)據(jù),并且使數(shù)據(jù)在后端的MongoDB數(shù)據(jù)庫(kù)中可見(jiàn)。
MongoDB 4.4 beta版亮相
今年MongoDB.live 2020大會(huì)上另一個(gè)重要發(fā)布是MongoDB 4.4 beta版,這也是很多開(kāi)發(fā)人員非常關(guān)注的。MongoDB 4.4中的確推出一些新功能,包括片鍵可修改、增強(qiáng)的集合功能、Hedged read功能等,無(wú)論是在MongoDB數(shù)據(jù)庫(kù)(私有云)或Atlas(公共云)都將從新版MongoDB中受益。
MongoDB 4.4中新增的部分功能
分片是MongoDB集群中分配數(shù)據(jù)的常用方法,這樣可以確保各個(gè)分片上的負(fù)載分布更加均勻。從MongoDB 4.2開(kāi)始可以對(duì)分片的片鍵值進(jìn)行修改,修改后MongoDB會(huì)自動(dòng)根據(jù)新的片鍵值將文檔移動(dòng)新的片上,從而大大提高了效率。在MongoDB 4.4中又進(jìn)了一步,現(xiàn)在可以修改片鍵,也就是重新定義片鍵,從而可以更靈活地控制如何在MongoDB集群上組織數(shù)據(jù)。比如,剛開(kāi)始你可能采用比較粗粒度的分片,后來(lái)可以修改片鍵來(lái)調(diào)整分配,MongoDB數(shù)據(jù)庫(kù)將根據(jù)新的片鍵自動(dòng)重新分配數(shù)據(jù)存儲(chǔ)位置。
MongoDB 4.4還將擁有更強(qiáng)大的集合功能。MongoDB 4.4新增了Union 操作,它可以把多個(gè)數(shù)據(jù)集的數(shù)據(jù)匯集到一起,從而可以進(jìn)行更多探索和查詢(xún)工作。通過(guò)Union,把數(shù)據(jù)的匯集工作放到了MongoDB中,否則都要編碼通過(guò)應(yīng)用程序來(lái)完成了,也可以減少對(duì)數(shù)據(jù)進(jìn)行ETL的需求。
MongoDB 4.4中還新增了Hedged read功能,即數(shù)據(jù)庫(kù)會(huì)把查詢(xún)需求同時(shí)發(fā)給多個(gè)復(fù)制集,并從響應(yīng)最快的節(jié)點(diǎn)返回結(jié)果從而最大程度地減少延遲,這樣可以改善用戶(hù)體驗(yàn)。這個(gè)功能背后的考慮是:數(shù)據(jù)庫(kù)默認(rèn)狀態(tài)是一致性?xún)?yōu)先,也就是要返回最新的數(shù)據(jù),不過(guò),有些時(shí)候如果返回的數(shù)據(jù)不是最新的也關(guān)系不大而是更希望能盡快得到結(jié)果,這就是Hedged read的價(jià)值。
除了上述重要發(fā)布和更新之外,在MongoDB.Live 2020大會(huì)上還發(fā)布了一些新的或者增強(qiáng)的MongoDB工具,包括MongoDB Chart、MongoDB Shell、MongoDB CLI。其中,新的MongoDB Chart中添加了儀表板篩選以及可嵌入的SDK,可直接應(yīng)用程序集成。作為連接到MongoDB數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)和管理集群的最常用工具,新的MongoDB Shell通過(guò)自動(dòng)完成功能提高了效率,并通過(guò)語(yǔ)法高亮顯示提高了可讀性。特別是在遇到問(wèn)題時(shí),新的Shell更容易追蹤問(wèn)題。全新的MongoDB CLI是一個(gè)采用命令行對(duì)Atlas的部署進(jìn)行操作的操作界面,借助它還可以在Ops Manager或Cloud Manager中管理Atlas環(huán)境和在自托管群集之間輕松切換。
安全也是本次大會(huì)的一個(gè)重要內(nèi)容。從MongoDB 4.2開(kāi)始其新增了客戶(hù)端字段級(jí)加密的功能,目前這個(gè)功能已普遍可用,現(xiàn)在MongoDB再不斷增加新的驅(qū)動(dòng),包括Javascript、Node.js、Python、Go等。
HashiCorp Vault是一個(gè)用于存儲(chǔ)和控制對(duì)應(yīng)用程序中所有服務(wù)的敏感信息(例如密碼、證書(shū)和加密密鑰)的系統(tǒng),MongoDB為HashiCorp Vault構(gòu)建了MongoDB Atlas密鑰引擎,利用Atlas密鑰引擎可以輕松管理和控制數(shù)據(jù)庫(kù)用戶(hù)的訪(fǎng)問(wèn)。
另外,大會(huì)上還宣布Atlas已經(jīng)可以支持AWS IAM數(shù)據(jù)庫(kù)身份驗(yàn)證。現(xiàn)在,用戶(hù)可以使用IAM允許應(yīng)用程序、容器和無(wú)服務(wù)器函數(shù)使用臨時(shí)AWS IAM憑據(jù)向Atlas集群進(jìn)行身份驗(yàn)證,就像您的應(yīng)用程序向其他AWS服務(wù)進(jìn)行身份驗(yàn)證一樣。
寫(xiě)在最后
作為MongoDB一年一度的技術(shù)盛會(huì),MongoDB.live 2020大會(huì)內(nèi)容非常豐富,內(nèi)容遠(yuǎn)不止上述這些。應(yīng)該說(shuō),為了簡(jiǎn)化和方便開(kāi)發(fā)人員對(duì)數(shù)據(jù)的利用,最大程度地釋放數(shù)據(jù)的潛能,MongoDB做了大量工作,并還將持續(xù)下去。正如MongoDB首席產(chǎn)品官Sahir Azam在其主題演講中所說(shuō):
“我們所做的每一件事都源于我們希望開(kāi)發(fā)人員能擺脫數(shù)據(jù)處理的麻煩,讓開(kāi)發(fā)人員可以專(zhuān)注于真正重要的事情。我們希望大家知道MongoDB是現(xiàn)代的通用數(shù)據(jù)平臺(tái),讓您為未來(lái)構(gòu)建的數(shù)據(jù)平臺(tái)。”
本文章選自《AI啟示錄》雜志,閱讀更多雜志內(nèi)容,請(qǐng)掃描下方二維碼
