丁海驁
云計算的出現(xiàn),不僅改變了整個IT基礎架構的走向,而且也大幅降低了企業(yè)應用程序開發(fā)的專業(yè)化程度,讓圍繞企業(yè)業(yè)務展開的全新應用程序開發(fā)在短時間內完成成為可能。
2021年底,IDC發(fā)表的年底報告預測:到2024年, 數(shù)字經(jīng)濟的發(fā)展將孕育出超過 5億個新應用/服務,這與過去40年間出現(xiàn)的應用數(shù)量相當。也就是說,越來越多的企業(yè),會圍繞自身的業(yè)務需求,自行開發(fā)更多的全新應用程序。
“簡單來說:數(shù)據(jù)庫是應用程序的血液,也是企業(yè)底層架構的電力供應。因此,數(shù)據(jù)庫產(chǎn)品在企業(yè)應用程序開發(fā)階段,應該保證能夠讓用戶很容易上手;在應用程序成功開發(fā)和推廣之后,數(shù)據(jù)庫應該能夠很容易實現(xiàn)擴展,并始終保持高可用性——完全不需要用戶對其進行任何復雜的技術層面的重新架構調整?!盡ark Porter,MongoDB首席技術官,這位在數(shù)據(jù)庫領域工作了35年的資深技術專家,在2022年全球用戶大會一場針對中國媒體的在線分享會上,回答筆者提問時強調:沿著從網(wǎng)絡、存儲、服務器、操作系統(tǒng)、數(shù)據(jù)庫、數(shù)據(jù)到應用程序的企業(yè)典型IT架構來看,對于企業(yè)用戶而言,與應用程序開發(fā)最密切相關的是數(shù)據(jù),而與數(shù)據(jù)最直接發(fā)生關聯(lián)的就是數(shù)據(jù)庫。因此,是否采用低門檻、高效率、強擴展性、高可用性的數(shù)據(jù)庫產(chǎn)品,將直接決定著企業(yè)用戶能否更快速地面對變化做出響應的關鍵。
“MongoDB是一款與眾不同的數(shù)據(jù)庫產(chǎn)品,它提供了一種最快和最可預見的寫應用程序的方式。”Mark Porter說:現(xiàn)在有來自制造業(yè)、金融業(yè)、電子商務、游戲……以及很多其他垂直行業(yè)的客戶都加入和選擇了MongoDB。
作為開源非關系型數(shù)據(jù)庫的代表,MongoDB公司于2007年在紐約成立,產(chǎn)品于2008年開源。
非關系型數(shù)據(jù)庫出現(xiàn)的背景,與整個社會的數(shù)字化進展不斷推進密切相關:當包括企業(yè)在內的各種社會組織對數(shù)據(jù)、尤其是包括文檔、圖片、報表、視頻、HTML等各種非關系型數(shù)據(jù)的依賴程度越來越高,而傳統(tǒng)關系型數(shù)據(jù)庫只能管理結構化數(shù)據(jù)(最簡單的關系型數(shù)據(jù)庫可以理解成微軟的Excel),于是,針對非結構化數(shù)據(jù)的非關系型數(shù)據(jù)庫就越來越重要了。
一般來說,在技術領域有一個共識:非關系型數(shù)據(jù)庫可以按照存儲邏輯,分為以鍵值對形式存儲的非關系型數(shù)據(jù)庫、搜索型非關系型數(shù)據(jù)庫、基于列式存儲的非關系型數(shù)據(jù)庫和文檔型的非關系型數(shù)據(jù)庫等四類。
MongoDB就是文檔型非關系型數(shù)據(jù)庫的代表。
稍微技術一點的理解是:文檔型非關系型數(shù)據(jù)庫在邏輯上最接近關系型數(shù)據(jù)庫。因為,通常文檔型非關系型數(shù)據(jù)庫都是采用JSON或者XML格式,以字符串取代表結構記錄數(shù)據(jù),雖然沒有關系型數(shù)據(jù)庫的表結構,但是對數(shù)據(jù)的記錄邏輯基本與關系型數(shù)據(jù)庫相同,因此也有很多數(shù)據(jù)專家稱其為沒有表結構的關系型數(shù)據(jù)庫。而由于沒有表結構,因此文檔型非關系型數(shù)據(jù)庫就徹底解決了關系型數(shù)據(jù)庫由于表結構導致的擴展能力不佳的致命缺點,具有無限擴展能力;而且與關系型數(shù)據(jù)庫相比,其讀寫性能更加優(yōu)越——擴展能力強、效率更高,是文檔型非關系型數(shù)據(jù)庫的天然屬性。
“我希望大家記住MongoDB一個最核心的真理:我們最能幫到客戶的,就是幫助開發(fā)人員極大提升效率,減少很多他們沒有必要去做的瑣事和工作。這也是從15年前我們公司成立之初就一直秉承的核心理念,也正是這個核心理念的建成讓我們MongoDB擁有世界上最忠實的開發(fā)者社區(qū)?!盡ark Porter談到MongoDB的優(yōu)勢時,首先提到的就是其文檔數(shù)據(jù)模型。
Mark Porter強調,MongoDB與友商最大的不同點,是MongoDB文檔數(shù)據(jù)模型真正是做到了為分布式系統(tǒng)服務,“而其他的很多競爭對手的數(shù)據(jù)庫產(chǎn)品,其實都是基于單一的架構,而這個單一的架構已經(jīng)是40年之久的東西了”。他說,MongoDB的數(shù)據(jù)庫模型之所以這么獨特,主要是因為MongoDB的文檔模型“采用的就是數(shù)據(jù)庫本身的語言”,中間不再需要一個翻譯層,而如果這個翻譯層存在的話,“會把整個的工作流程減緩,并且很容易中間出差錯,結果也不太可預測”。
更為重要的是,MongoDB的文檔模型,不僅適用于所有數(shù)據(jù)類型(如文檔、圖形、數(shù)組、文本、對象、地理空間、時間序列和關系型數(shù)據(jù)等),而且還可以支撐關系型的數(shù)據(jù)類型及關系型的數(shù)據(jù)庫。
“這對企業(yè)用戶來說真的是一個天大的好消息:因為這就意味著他們不需要再維系三到五個,甚至七個以上不同類型的數(shù)據(jù)庫,用一個數(shù)據(jù)庫就可以做到他們想做的事情?!盡ark Porter說。
可以肯定的是,MongoDB的目標,并非是只做一個提供開源非關系型數(shù)據(jù)庫的廠商,MongoDB的目標,是面向企業(yè)用戶越來越多的應用程序開發(fā)需求,提供一個“高度可擴展、云原生、全球分布式的數(shù)據(jù)平臺”——這是MongoDB總裁兼首席執(zhí)行官Dev Ittycheria在本次用戶大會中提到的。他說:“MongoDB的愿景是打造開發(fā)者數(shù)據(jù)平臺,為開發(fā)者提供現(xiàn)代、便捷的使用體驗,廣泛支持各種用例,并滿足最為嚴苛的性能和規(guī)模要求?!?/p>
基于這樣明確的愿景,在本次用戶大會上,MongoDB發(fā)布了一系列變革性的新功能:例如,為了滿足更廣泛的用例需求,MongoDB借助統(tǒng)一的平臺將數(shù)據(jù)服務方法延伸至聯(lián)機運營場景和事務場景以外的搜索和分析用例,如通過一系列新功能幫助開發(fā)者更輕松地構建應用程序內分析能力,又推出MongoDB時間序列集合功能簡化應用程序構建,加快構建速度并降低成本,還推出了在應用程序中構建基于相關性搜索功能的最迅速且最簡單的方法Atlas Search。而為了能夠提供覆蓋數(shù)據(jù)生命周期的服務,MongoDB發(fā)布的產(chǎn)品和功能能夠使開發(fā)團隊能夠更好地分析、轉換和遷移Atlas中的數(shù)據(jù),同時減少對可能造成延遲、制約生產(chǎn)效率和增加成本的批處理及ETL作業(yè)的依賴。除此之外,為了幫助企業(yè)用戶靈活地部署合適的應用架構以滿足業(yè)務需求,MongoDB還推出了包括Atlas Serverless、Vercel Integration、Clusterto-Cluster Synchronization、Atlas Device Sync和Data API等一系列的服務和工具,幫助企業(yè)完成對應用架構的優(yōu)化。A5CA35C1-245B-4A3A-97DB-E800BBFB6C0D
“我基本上是關注以下幾個領域:大規(guī)模的高性能、全球覆蓋和數(shù)據(jù)遷移、更豐富的 MongoDB使用場景、無縫集成至開發(fā)者的工作流和數(shù)據(jù)安全與隱私這五大方面?!泵鎸Ρ姸嗟漠a(chǎn)品和功能更新,Mark Porter強調:本次MongoDB最新發(fā)布的 6.0版本,新增加的功能有150余項之多,而他更關注的五個方面,也是MongoDB從用戶體驗的角度,為未來新品研發(fā)和優(yōu)化提出的五個重要方向。
Mark Porter尤其談到本次大會推出的一項“改進功能促進平臺更好地消減和緩解分片群集中的連接峰值(connection storms)”新功能。
“這是我們過去一年花了很大的工夫終于做成的功能,它使我們的數(shù)據(jù)庫變得更具彈性,以便它更好的應對峰值的流量。比如說由于一些特殊的事件,網(wǎng)絡的流量、數(shù)據(jù)庫的流量特別高,或者是由于一些自然災難、下雨會有一些突發(fā)流量,還有一些應用,還有公司產(chǎn)品最新發(fā)布的時候造成網(wǎng)絡流量的急劇增加?!盡ark Porter說。
而對于“全球覆蓋和數(shù)據(jù)遷移”,Mark Porter提到了一個“非常重要的新功能”:集群至集群同步?!霸谶^去幾年一直在跟客戶溝通,這是他們最想要的一個性能,經(jīng)過我們幾年的工作,現(xiàn)在集群到集群同步終于成了一個產(chǎn)品了:我們可以發(fā)現(xiàn),利用這個功能,用戶可以很簡單地連接和復制MongoDB到MongoDB,不管它是本地運營,還是云中的集群?!?/p>
MongoDB還談到了此次用戶大會上發(fā)布的一個與此同一維度的全新工具,Relational Migrator:“它是一個特別、特別重量級的功能:它可以幫助我們的客戶,很好地從他們遺留的、正在使用和采購的特別昂貴的關系型數(shù)據(jù)庫當中遷移出來?!盡ark Porter說:“我們堅信Relational Migrator將進一步幫助客戶加速擺脫傳統(tǒng)的遺留技術?!?/p>
“我總是把最好的留到最后?!盡ark Porter最后談到的是安全。在此次用戶大會上,MongoDB 6.0預覽版采用號稱“最精密的數(shù)據(jù)加密技術”,推出了業(yè)界首個使用突破性密碼學工程原理的加密搜索方案:Queryable Encryption。
技術資料顯示:這項技術使開發(fā)者能夠在不影響性能的情況下,簡單直觀地查詢加密的敏感數(shù)據(jù),并且不需要具備任何加密經(jīng)驗。“我們開發(fā)了一個獨特的,非常強大的技術,我可以很自豪地說:現(xiàn)在只有MongoDB才有?!盡ark Porter介紹說:采用這項技術,數(shù)據(jù)庫中的數(shù)據(jù)可以始終保持加密狀態(tài),包括存儲在內存和CPU中的數(shù)據(jù);而密鑰永遠不會離開應用程序,且不能通過數(shù)據(jù)庫服務器進行訪問。因此,這種端到端的客戶端加密技術使用的加密索引數(shù)據(jù)結構,使得開發(fā)者能夠在完全加密的機密數(shù)據(jù)上進行表達式查詢。
“在以往,在可查詢和數(shù)據(jù)加密之間,用戶只能選擇其一:要么就選擇數(shù)據(jù)加密完全保證安全;要么就只能選擇數(shù)據(jù)是可以查詢的——現(xiàn)在,Queryable Encryption可查詢加密,就結束了用戶總是兩難選擇的局面?!盡ark Porter說。
過去的一段時間,數(shù)據(jù)庫市場一直非常“熱鬧”:有非常多的新技術、新產(chǎn)品和新概念的更迭,尤其是在中國市場,甚至涌現(xiàn)出很多的新的公司。
“不僅是在中國,我們看到全球有很多新的數(shù)據(jù)庫出現(xiàn),并都在快速發(fā)展中。但是如果您去看看DB-engines ranking的實時分析和數(shù)據(jù)庫排名,你會看到各種數(shù)據(jù)庫中,MongoDB始終位列前五名當中,并且是唯一的文檔型數(shù)據(jù)庫?!碧K玉龍,MongoDB北亞區(qū)高級副總裁接受采訪時強調,MongoDB在中國市場,從2019年起,就與阿里云、騰訊云通過OEM合作伙伴協(xié)議的形式,面向中國用戶提供MongoDB數(shù)據(jù)庫即服務?!斑^去一年里,我們整體在中國的業(yè)務非常出色,在汽車、電商和金融等各行各業(yè)都獲得了長足的進步,而這些行業(yè),正是MongoDB非常適合且擅長的領域?!盇5CA35C1-245B-4A3A-97DB-E800BBFB6C0D