日前,MongoDB宣布推出Atlas Stream Processing公共預(yù)覽版。在Atlas平臺(tái)上有興趣嘗試這項(xiàng)功能的開(kāi)發(fā)者都享有完全的訪問(wèn)權(quán)限,可前往官方網(wǎng)站了解更多詳細(xì)信息或立即開(kāi)始使用。
(MongoDB推出Atlas Stream Processing公共預(yù)覽版)
開(kāi)發(fā)者喜歡文檔型數(shù)據(jù)庫(kù)的靈活性、易用性以及Query API查詢方式,能夠在MongoDB Atlas中以代碼方式處理數(shù)據(jù)。借助Atlas Stream Processing,MongoDB將這些相同的基本原則應(yīng)用于流處理中。Atlas Stream Processing于2023年美國(guó)紐約MongoDB用戶大會(huì)上首次推出,它旨在重塑聚合和豐富快速變化的事件數(shù)據(jù)流的體驗(yàn),并統(tǒng)一了處理流數(shù)據(jù)和靜態(tài)數(shù)據(jù)的方法。
在內(nèi)測(cè)階段,MongoDB收到數(shù)千個(gè)開(kāi)發(fā)團(tuán)隊(duì)關(guān)于希望獲取訪問(wèn)權(quán)限的請(qǐng)求,并且從數(shù)百個(gè)參與團(tuán)隊(duì)中收集了有價(jià)值的反饋意見(jiàn)。其中一些用例包括:
·某全球領(lǐng)先的航空公司利用復(fù)雜的聚合技術(shù),快速處理維護(hù)和運(yùn)營(yíng)數(shù)據(jù),以確保航班能夠準(zhǔn)時(shí)起飛和到達(dá),滿足成千上萬(wàn)名乘客的需求;
·某大型能源設(shè)備制造商使用Atlas Stream Processing來(lái)連續(xù)監(jiān)控泵設(shè)備的海量數(shù)據(jù),以避免意外停機(jī)并提升運(yùn)行效果;
·某創(chuàng)新型企業(yè)“軟件即服務(wù)”(SaaS)提供商充分利用Atlas Stream Processing中豐富的處理功能來(lái)及時(shí)提供包含背景信息的產(chǎn)品內(nèi)警報(bào),從而提升產(chǎn)品參與度。
這些用例僅僅是MongoDB在各行各業(yè)中觀察到的Atlas Stream Processing眾多應(yīng)用實(shí)例中的一小部分。除了MongoDB觀察到的眾多用例外,開(kāi)發(fā)者也向MongoDB提供了豐富的見(jiàn)解,使MongoDB了解到他們希望未來(lái)Atlas Stream Processing應(yīng)添加哪些功能。
除了通過(guò)變更流在Atlas數(shù)據(jù)庫(kù)中實(shí)現(xiàn)對(duì)數(shù)據(jù)的持續(xù)處理之外,許多開(kāi)發(fā)者正在將Atlas Stream Processing與Kafka數(shù)據(jù)結(jié)合使用,這些Kafka數(shù)據(jù)被托管在Confluent Cloud、Amazon MSK、Azure Event Hubs和Redpanda等重要合作伙伴提供的服務(wù)中。在Atlas開(kāi)發(fā)者數(shù)據(jù)平臺(tái)功能方面,MongoDB的目標(biāo)始終是為開(kāi)發(fā)者所依賴的關(guān)鍵技術(shù)提供更好的體驗(yàn)。
隨著使用團(tuán)隊(duì)數(shù)量的增加,MongoDB正在擴(kuò)展功能,以便將在內(nèi)測(cè)階段收集到的呼聲最高的反饋意見(jiàn)納入其中。通過(guò)梳理大量的反饋意見(jiàn),MongoDB從中總結(jié)出了三個(gè)共同的主題:提升開(kāi)發(fā)者體驗(yàn)、擴(kuò)展高級(jí)特性和功能、改善運(yùn)行和增強(qiáng)安全性。
一、提升開(kāi)發(fā)者體驗(yàn)
MongoDB在內(nèi)測(cè)階段就將開(kāi)發(fā)者體驗(yàn)置于核心位置,這對(duì)于促使Atlas Stream Processing成為開(kāi)發(fā)團(tuán)隊(duì)的首選解決方案至關(guān)重要。在公共預(yù)覽版中,MongoDB更注重提升開(kāi)發(fā)者的體驗(yàn),為此MongoDB增加了兩項(xiàng)增強(qiáng)型功能。
·VS Code集成。MongoDB VS Code插件增加了對(duì)連接流處理實(shí)例的支持。對(duì)于那些已經(jīng)使用了該插件的開(kāi)發(fā)者而言,隨著這項(xiàng)新功能的引入,團(tuán)隊(duì)能夠在熟悉的開(kāi)發(fā)環(huán)境中輕松地創(chuàng)建和管理處理器。這意味開(kāi)發(fā)者不再需要頻繁切換工具,而可以將更多時(shí)間用來(lái)構(gòu)建應(yīng)用程序!
·改進(jìn)死信隊(duì)列(DLQ)功能。DLQ支持是實(shí)現(xiàn)強(qiáng)大流處理功能的關(guān)鍵要素,在公開(kāi)預(yù)覽版中,MongoDB進(jìn)一步擴(kuò)展了DLQ功能?,F(xiàn)在,當(dāng)使用sp.process來(lái)執(zhí)行管道操作以及在運(yùn)行中的處理器上運(yùn)行.sample時(shí),DLQ消息將自動(dòng)顯示,這樣可以簡(jiǎn)化開(kāi)發(fā)工作,而無(wú)需設(shè)置目標(biāo)集合來(lái)充當(dāng)DLQ。
二、擴(kuò)展高級(jí)特性和功能
Atlas Stream Processing原本就已經(jīng)支持很多常用的聚合操作符,這些操作符在靜態(tài)數(shù)據(jù)Query API查詢中經(jīng)常被開(kāi)發(fā)者所使用。而且MongoDB還增加了強(qiáng)大的窗口功能,以及可輕松合并數(shù)據(jù)并將其發(fā)送到Atlas數(shù)據(jù)庫(kù)或Kafka主題的功能。公開(kāi)預(yù)覽版將提供更多功能,以滿足那些依靠流處理來(lái)提供卓越客戶體驗(yàn)的先進(jìn)團(tuán)隊(duì)的需求,包括:
·時(shí)間序列集合支持。Atlas Stream Processing現(xiàn)已支持將處理器的處理結(jié)果發(fā)送到時(shí)間序列集合中。這使得開(kāi)發(fā)者能夠通過(guò)Atlas Stream Processing連續(xù)地對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,并且將數(shù)據(jù)保存下來(lái)以便將來(lái)在時(shí)間序列集合中進(jìn)行回顧訪問(wèn)(時(shí)間序列集合是Atlas平臺(tái)上專為高效存儲(chǔ)和查詢時(shí)間序列數(shù)據(jù)而構(gòu)建的一種集合類型)。
·$lookup操作符?,F(xiàn)在,開(kāi)發(fā)者可以通過(guò)使用遠(yuǎn)程Atlas集群的數(shù)據(jù),對(duì)流處理器中正在處理的文檔以及目標(biāo)集合中的字段進(jìn)行連接,從而豐富流處理器中正在處理的文檔。
·變更流變更前后文檔信息的存儲(chǔ)。許多開(kāi)發(fā)者正在使用Atlas Stream Processing通過(guò)變更流持續(xù)處理Atlas數(shù)據(jù)庫(kù)(作為源)中的數(shù)據(jù)。MongoDB在公共預(yù)覽中增強(qiáng)了變更流$source變量,以支持變更前和變更后文檔信息的存儲(chǔ)。這一功能使得開(kāi)發(fā)者能夠處理一些常見(jiàn)的用例,包括計(jì)算文檔中字段之間的增量或差異,以及訪問(wèn)已刪除文檔的完整內(nèi)容等。
·在合并和發(fā)出階段使用動(dòng)態(tài)表達(dá)式進(jìn)行條件路由。通過(guò)條件路由,開(kāi)發(fā)者可以使用Atlas Stream Processing正在處理的文檔中的字段值,動(dòng)態(tài)地將特定的消息發(fā)送到不同的Atlas集合或Kafka主題?,F(xiàn)在$merge和$emit階段也支持使用動(dòng)態(tài)表達(dá)式?;诖?用戶可以根據(jù)需求,在需要將信息分發(fā)到不同集合或主題的用例中使用Query API查詢。
·空閑流超時(shí)?,F(xiàn)在,用戶可以對(duì)那些因缺乏傳入數(shù)據(jù)導(dǎo)致水印無(wú)法更新的流進(jìn)行配置,在特定時(shí)間段后關(guān)閉這些數(shù)據(jù)流,并輸出窗口結(jié)果。這對(duì)于處理數(shù)據(jù)流不一致的流媒體源來(lái)說(shuō)至關(guān)重要。
三、改善運(yùn)行和增強(qiáng)安全性
最后,在最近幾個(gè)月,MongoDB加大投入力度,改善Atlas Stream Processing的運(yùn)行和安全。其中一些亮點(diǎn)包括:
·檢查點(diǎn)。目前,Atlas Stream Processing通過(guò)執(zhí)行檢查點(diǎn)的方式,在處理數(shù)據(jù)流過(guò)程中保存狀態(tài)信息。由于流處理器處于持續(xù)運(yùn)行狀態(tài),無(wú)論出現(xiàn)數(shù)據(jù)問(wèn)題還是基礎(chǔ)設(shè)施故障,都需要一種智能的恢復(fù)機(jī)制來(lái)確保它能夠持續(xù)可靠地運(yùn)行。通過(guò)采用檢查點(diǎn)機(jī)制,用戶可以輕松地從停止收集和處理數(shù)據(jù)的位置恢復(fù)流處理器的正常運(yùn)行。
·Terraform提供商支持。Terraform目前支持創(chuàng)建連接和流處理實(shí)例(SPI)。這樣可以將基礎(chǔ)架構(gòu)編寫為可重復(fù)部署的代碼。
·安全角色。Atlas Stream Processing引入了項(xiàng)目級(jí)角色,為用戶提供了執(zhí)行流處理任務(wù)所需的完整權(quán)限。流處理器能夠在特定角色的環(huán)境下運(yùn)行,支持最低權(quán)限的配置選項(xiàng)。
·Kafka消費(fèi)者群組支持。Atlas Stream Processing中的流處理器現(xiàn)在采用Kafka消費(fèi)者群組來(lái)進(jìn)行偏移跟蹤。得益于此,用戶可以輕松地調(diào)整處理器在流操作中的位置,并實(shí)時(shí)監(jiān)控潛在的處理器延遲情況。
關(guān)于新功能的最后一點(diǎn)說(shuō)明是,MongoDB計(jì)劃在Atlas Stream Processing的公開(kāi)預(yù)覽版中,開(kāi)始按照促銷價(jià)格收取費(fèi)用,直至可廣泛使用的版本正式發(fā)布。更多關(guān)于Atlas Stream Processing價(jià)格的詳細(xì)信息,請(qǐng)參閱MongoDB的相關(guān)文檔。
對(duì)MongoDB而言,公共預(yù)覽版的推出是重要的一步,它標(biāo)志著MongoDB的開(kāi)發(fā)者數(shù)據(jù)平臺(tái)得到了擴(kuò)展,為更多團(tuán)隊(duì)提供了流處理解決方案。該解決方案旨在簡(jiǎn)化構(gòu)建反應(yīng)式、響應(yīng)式和事件驅(qū)動(dòng)型應(yīng)用程序的操作復(fù)雜性,同時(shí)提升開(kāi)發(fā)者的體驗(yàn)。
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )