MongoDB Cloud來了
每年6月是MongoDB舉辦技術大會的日子,這是MongoDB一年一度最大的活動,MongoDB重大技術的發布和未來產品路線也會在這次大會上發布,因此,是觀察MongoDB未來發展的最好機會。今年因為新冠肺炎疫情的原因,會議改成了線上,大會名稱變成了MongoDB.Live 2020,但是,大會承載的使命沒變。會上不僅發布了新的品牌——MongoDB Cloud,還有眾多重要發布,包括Atlas眾多新的功能(Atlas Search、Atlas Data Lake、Atlas Online Archive)、MongoDB Realm、MongoDB Charts、MongoDB Shell等,會上MongoDB的最新版本的MongoDB 4.4(beta版)也正式亮相。
釋放數據潛能
MongoDB是數據庫行業的后起之秀,但成長非常迅速,已經持續多年與Oracle、MySQL、SQL Server、PostgreSQL一起位列全球五大最流行的數據庫,其影響力已經超過傳統數據庫DB2。
在大會上,MongoDB 總裁兼首席執行官 Dev Ittycheria透露了MongoDB公司的一些成長數據。截至目前,MongoDB 社區版已下載超過 1 億次,在全球 100 多個國家及地區中擁有超過 1.8萬家各種規模的企業客戶。根據Stack Overflow 在全球范圍內進行的開發人員調查表明,連續 4 年MongoDB 被開發人員評為全球范圍內最受開發人員青睞的數據庫。
“MongoDB 以釋放數據潛能為使命,我們致力于解決開發人員的數據問題。”Dev Ittycheria在演講時表示。

MongoDB 總裁兼首席執行官 Dev Ittycheria
的確,由于 MongoDB 獨特的文檔模型和查詢語言使數據處理變得如此容易,很快擁有了一個熱愛 MongoDB 的龐大開發人員社區。當時傳統數據庫已經非常不適用于新型應用程序,因為這些程序常常需要處理來自不同來源的多種格式的大量數據,還要適應競爭日益激烈的市場。而傳統的關系型數據庫不靈活、無法水平擴展,從而使其開發緩慢且維護成本高昂。
MongoDB首席產品官Sahir Azam說,作為一種新的開源通用數據庫,MongoDB有三大核心技術優勢:
首先,是其文檔模型。文檔模型使數據處理變得容易,因為它具有靈活性,適用于廣泛的用例,并很好地映射了開發人員在現代的、面向對象的編程語言中的工作方式。
第二,分布式系統。水平擴展、冗余和工作負載隔離是現代數據庫的基本要求,因此分布式架構十分必要的。
第三,可以在任何地方運行;贛ongoDB可以開始在筆記本電腦上進行開發,在公司數據中心中運行它,或者在公共云中對其進行管理。
“當然,傳統數據庫確實提供了對關鍵任務應用程序至關重要的功能,但我們已經將諸如傳統數據庫的這些關鍵功能,如事務、二級索引、聚合功能以及安全性和管理功能等整合到 MongoDB。” Sahir Azam說,這些功能的組合使得 MongoDB 具備以任何規模支持任何應用程序的強大實力。這就是MongoDB 現在背后全球數百萬開發人員和成千上萬企業青睞的原因。
從Altas到MongoDB Cloud
云數據庫已經大勢所趨。Gartne此前發布的研究報告《The Future of the Database Management System (DBMS) Market Is Cloud》認為,數據庫創新的主戰場已經從傳統的本地市場轉到了云上,數據庫云服務是大趨勢,將數據庫安裝在企業數據中心的服務器上已經或者很快將成為一種“過時”的方法。
MongoDB對此也早有準備,于2016推出了Atlas——這是MongoDB的云版本,由MongoDB來運營。Atlas自年推出以來取得了長足發展,目前已經落戶AWS、微軟Azure、谷歌GCP,并成為MongoDB的主要收入來源,在2021財年第一季度營收中占比42%。
不過,MongoDB對云市場有更大的期待。在本次大會上MongoDB推出了全新的云品牌MongoDB Cloud,旗下有三個產品,包括Atlas、Atlas Data Lake和Ream。

MongoDB首席產品官Sahir Azam
Atlas毫無疑問是MongoDB Cloud品牌下最核心的產品。MongoDB一直在不斷打造和豐富Atlas的功能集。本次大會上展示了Atlas很多新的功能,比如自動擴展、Schema建議等。其中,Atlas的自動擴展功能可以根據工作負載實時、自動進行計算能力和存儲能力的擴容,其最直接的受益是節省費用;而Schema建議功能則可以對數據模型的建模提供建議,有助于性能優化,目前這兩個功能目前都已正式上線。另外,Atlas Search也正式上線。Atlas Search具有類似Google搜索類似的全文本搜索功能,同時其還能夠統一對Atlas、AWS S3進行查詢,從而簡化查詢和搜索工作。
MongoDB Cloud之下的另一個重磅產品是Atlas Data Lake,這個去年發布了Beta版,如今已經正式上線。Atlas Data Lake允許用戶使用MongoDB查詢語言查詢存儲在AWS S3中的數據。這為用戶提供了更多存儲和查詢數據的靈活性。MongoDB還加強了Atlas Data Lake與Atlas、AWS S3之間的集成,實現了Atlas Data lake的在線歸檔( Atlas Online Archive),也就是說,用戶可以進行設置,讓一部分冷數據自動存儲到AWS S3中。

Atlas中部分新增的功能
MongoDB Cloud旗下的第三個重磅產品是Realm,它來自于去年收購的嵌入式數據庫公司Realm。Realm主要運行在移動設備,如今Realm可以自動實現Realm中的數據同步并將其從移動設備備份到MongoDB Cloud中,這想必是此次Realm被納入MongoDB Cloud中的一個重要原因。對于開發人員來說,這種同步能力讓它們可以更輕松地在移動設備上處理數據,并且使數據在后端的MongoDB數據庫中可見。
MongoDB 4.4 beta版亮相
今年MongoDB.live 2020大會上另一個重要發布是MongoDB 4.4 beta版,這也是很多開發人員非常關注的。MongoDB 4.4中的確推出一些新功能,包括片鍵可修改、增強的集合功能、Hedged read功能等,無論是在MongoDB數據庫(私有云)或Atlas(公共云)都將從新版MongoDB中受益。

MongoDB 4.4中新增的部分功能
分片是MongoDB集群中分配數據的常用方法,這樣可以確保各個分片上的負載分布更加均勻。從MongoDB 4.2開始可以對分片的片鍵值進行修改,修改后MongoDB會自動根據新的片鍵值將文檔移動新的片上,從而大大提高了效率。在MongoDB 4.4中又進了一步,現在可以修改片鍵,也就是重新定義片鍵,從而可以更靈活地控制如何在MongoDB集群上組織數據。比如,剛開始你可能采用比較粗粒度的分片,后來可以修改片鍵來調整分配,MongoDB數據庫將根據新的片鍵自動重新分配數據存儲位置。
MongoDB 4.4還將擁有更強大的集合功能。MongoDB 4.4新增了Union 操作,它可以把多個數據集的數據匯集到一起,從而可以進行更多探索和查詢工作。通過Union,把數據的匯集工作放到了MongoDB中,否則都要編碼通過應用程序來完成了,也可以減少對數據進行ETL的需求。
MongoDB 4.4中還新增了Hedged read功能,即數據庫會把查詢需求同時發給多個復制集,并從響應最快的節點返回結果從而最大程度地減少延遲,這樣可以改善用戶體驗。這個功能背后的考慮是:數據庫默認狀態是一致性優先,也就是要返回最新的數據,不過,有些時候如果返回的數據不是最新的也關系不大而是更希望能盡快得到結果,這就是Hedged read的價值。
除了上述重要發布和更新之外,在MongoDB.Live 2020大會上還發布了一些新的或者增強的MongoDB工具,包括MongoDB Chart、MongoDB Shell、MongoDB CLI。其中,新的MongoDB Chart中添加了儀表板篩選以及可嵌入的SDK,可直接應用程序集成。作為連接到MongoDB數據庫進行查詢和管理集群的最常用工具,新的MongoDB Shell通過自動完成功能提高了效率,并通過語法高亮顯示提高了可讀性。特別是在遇到問題時,新的Shell更容易追蹤問題。全新的MongoDB CLI是一個采用命令行對Atlas的部署進行操作的操作界面,借助它還可以在Ops Manager或Cloud Manager中管理Atlas環境和在自托管群集之間輕松切換。
安全也是本次大會的一個重要內容。從MongoDB 4.2開始其新增了客戶端字段級加密的功能,目前這個功能已普遍可用,現在MongoDB再不斷增加新的驅動,包括Javascript、Node.js、Python、Go等。
HashiCorp Vault是一個用于存儲和控制對應用程序中所有服務的敏感信息(例如密碼、證書和加密密鑰)的系統,MongoDB為HashiCorp Vault構建了MongoDB Atlas密鑰引擎,利用Atlas密鑰引擎可以輕松管理和控制數據庫用戶的訪問。
另外,大會上還宣布Atlas已經可以支持AWS IAM數據庫身份驗證。現在,用戶可以使用IAM允許應用程序、容器和無服務器函數使用臨時AWS IAM憑據向Atlas集群進行身份驗證,就像您的應用程序向其他AWS服務進行身份驗證一樣。
寫在最后
作為MongoDB一年一度的技術盛會,MongoDB.live 2020大會內容非常豐富,內容遠不止上述這些。應該說,為了簡化和方便開發人員對數據的利用,最大程度地釋放數據的潛能,MongoDB做了大量工作,并還將持續下去。正如MongoDB首席產品官Sahir Azam在其主題演講中所說:
“我們所做的每一件事都源于我們希望開發人員能擺脫數據處理的麻煩,讓開發人員可以專注于真正重要的事情。我們希望大家知道MongoDB是現代的通用數據平臺,讓您為未來構建的數據平臺。”
本文章選自《AI啟示錄》雜志,閱讀更多雜志內容,請掃描下方二維碼