MongoDB今天發(fā)布了其文檔數(shù)據(jù)庫(kù)3.6版本的簡(jiǎn)易說(shuō)明,旨在使開(kāi)發(fā)人員能夠更輕松地使用數(shù)據(jù)。MongoDB首席技術(shù)官兼聯(lián)合創(chuàng)始人Eliot Horowitz表示,MongoDB已經(jīng)為核心數(shù)據(jù)庫(kù)增加了許多功能,目的是為了讓開(kāi)發(fā)人員提高工作效率。
在兩年前推出的3.2版本中,MongoDB引入了Equi-join,用戶可以使用查找操作符將兩個(gè)集合連接在一起,但查找只能處理equi-join。Horowitz表示,在3.6版本中,用戶可以進(jìn)行任何想要的內(nèi)部或外部鏈接,并且可以對(duì)子集合進(jìn)行查詢,現(xiàn)在很容易支持從多個(gè)來(lái)源獲取數(shù)據(jù)的復(fù)雜分析,這將幫助人們通過(guò)任何形式的網(wǎng)站從開(kāi)發(fā)者那里獲得不同來(lái)源的數(shù)據(jù)。
過(guò)去六年,在匯總管道中進(jìn)行表達(dá)式更新是最受歡迎的功能。例如,代表MongoDB中電子商務(wù)商店訂單的文檔可能包含許多不同的訂單項(xiàng)。如果用戶想給購(gòu)物車20%的折扣,可以很容易地發(fā)出一個(gè)單一操作給每個(gè)項(xiàng)目折扣,而不是手動(dòng)做每個(gè)項(xiàng)目。或者可以將更改應(yīng)用于數(shù)據(jù)的一個(gè)子集,例如在每個(gè)尚未發(fā)貨的行上提供折扣。
Horowitz表示,MongoDB的Connector for BI現(xiàn)在已經(jīng)嵌入到MongoDB的Ops Manager管理工具中。
進(jìn)一步的變化包括能夠使用JSON定義數(shù)據(jù)庫(kù)可以執(zhí)行的模式,Horowitz指出現(xiàn)在的模式非常靈活。
新的更改流使開(kāi)發(fā)人員能夠構(gòu)建實(shí)時(shí)應(yīng)用程序來(lái)設(shè)置通知。例如,每次訂購(gòu)新訂單時(shí),都可以通知托運(yùn)人。新的文檔數(shù)據(jù)庫(kù)可以讓開(kāi)發(fā)者及時(shí)聆聽(tīng)數(shù)據(jù)庫(kù)中發(fā)生的變化,以便對(duì)下游的變化做出反應(yīng)。
3.6版本的另一個(gè)新功能是可重試寫(xiě)入,它可以消除MongoDB在地理上擴(kuò)展和分布的能力,以便在發(fā)生服務(wù)器崩潰時(shí)及時(shí)處理可用性。當(dāng)服務(wù)器崩潰時(shí),某些操作是否失敗或成功還不清楚。這時(shí),開(kāi)發(fā)者必須編寫(xiě)代碼來(lái)處理。有了可重寫(xiě)的輸入,驅(qū)動(dòng)程序會(huì)自動(dòng)為你做。服務(wù)器可以保證重試只會(huì)發(fā)生一次,開(kāi)發(fā)人員不必?fù)?dān)心可用性,應(yīng)用程序也不必處理故障轉(zhuǎn)移。只允許單個(gè)重試的原因是,如果應(yīng)用程序正在執(zhí)行一個(gè)函數(shù)(如遞增計(jì)數(shù)器),并且寫(xiě)入被執(zhí)行多次,則可能導(dǎo)致數(shù)據(jù)不正確。
同時(shí),新版本具備更嚴(yán)格的安全性,Ops Manager的進(jìn)一步更新以及Atlas托管的數(shù)據(jù)庫(kù)即服務(wù)(如跨區(qū)域復(fù)制和驗(yàn)證)的改進(jìn)也已實(shí)施。
該公司撰寫(xiě)了一份白皮書(shū),詳細(xì)解釋了3.6版本中的新功能。MongoDB表示,該更新版本將于下月初發(fā)布。