重磅!MongoDB推出Atlas Stream Processing公共预览版

日前,MongoDB宣布推出Atlas Stream Processing公共预览版。

在Atlas平台上有兴趣尝试这项功能的开发者都享有完全的访问权限,可前往“阅读原文”链接点击了解更多详细信息或立即开始使用。

开发者喜欢文档型数据库的灵活性、易用性以及Query API查询方式,能够在MongoDB Atlas中以代码方式处理数据。借助Atlas Stream Processing,MongoDB将这些相同的基本原则应用于流处理中。

Atlas Stream Processing于2023年美国纽约MongoDB用户大会上首次推出,它旨在重塑聚合和丰富快速变化的事件数据流的体验,并统一了处理流数据和静态数据的方法。

在内测阶段,MongoDB收到数千个开发团队关于希望获取访问权限的请求,并且从数百个参与团队中收集了有价值的反馈意见。其中一些用例包括:

● 某全球领先的航空公司利用复杂的聚合技术,快速处理维护和运营数据,以确保航班能够准时起飞和到达,满足成千上万名乘客的需求;

● 某大型能源设备制造商使用Atlas Stream Processing来连续监控泵设备的海量数据,以避免意外停机并提升运行效果;

● 某创新型企业“软件即服务”(SaaS)提供商充分利用Atlas Stream Processing中丰富的处理功能来及时提供包含背景信息的产品内警报,从而提升产品参与度。

这些用例仅仅是MongoDB在各行各业中观察到的Atlas Stream Processing众多应用实例中的一小部分。

除了MongoDB观察到的众多用例外,开发者也向MongoDB提供了丰富的见解,使MongoDB了解到他们希望未来Atlas Stream Processing应添加哪些功能。

除了通过变更流在Atlas数据库中实现对数据的持续处理之外,许多开发者正在将Atlas Stream Processing与Kafka数据结合使用,这些Kafka数据被托管在Confluent Cloud、Amazon MSK、Azure Event Hubs和Redpanda等重要合作伙伴提供的服务中。在Atlas开发者数据平台功能方面,MongoDB的目标始终是为开发者所依赖的关键技术提供更好的体验。

随着使用团队数量的增加,MongoDB正在扩展功能,以便将在内测阶段收集到的呼声最高的反馈意见纳入其中。

通过梳理大量的反馈意见,MongoDB从中总结出了三个共同的主题:提升开发者体验、扩展高级特性和功能、改善运行和增强安全性。

一、提升开发者体验

MongoDB在内测阶段就将开发者体验置于核心位置,这对于促使Atlas Stream Processing成为开发团队的首选解决方案至关重要。在公共预览版中,MongoDB更注重提升开发者的体验,为此MongoDB增加了两项增强型功能。

● VS Code集成。MongoDB VS Code插件增加了对连接流处理实例的支持。对于那些已经使用了该插件的开发者而言,随着这项新功能的引入,团队能够在熟悉的开发环境中轻松地创建和管理处理器。这意味开发者不再需要频繁切换工具,而可以将更多时间用来构建应用程序!

● 改进死信队列(DLQ)功能。DLQ支持是实现强大流处理功能的关键要素,在公开预览版中,MongoDB进一步扩展了DLQ功能。现在,当使用sp.process()来执行管道操作以及在运行中的处理器上运行.sample()时,DLQ消息将自动显示,这样可以简化开发工作,而无需设置目标集合来充当DLQ。

二、扩展高级特性和功能

Atlas Stream Processing原本就已经支持很多常用的聚合操作符,这些操作符在静态数据Query API查询中经常被开发者所使用。而且MongoDB还增加了强大的窗口功能,以及可轻松合并数据并将其发送到Atlas数据库或Kafka主题的功能。

公开预览版将提供更多功能,以满足那些依靠流处理来提供卓越客户体验的先进团队的需求,包括:

●时间序列集合支持。Atlas Stream Processing现已支持将处理器的处理结果发送到时间序列集合中。这使得开发者能够通过Atlas Stream Processing连续地对数据进行预处理,并且将数据保存下来以便将来在时间序列集合中进行回顾访问(时间序列集合是Atlas平台上专为高效存储和查询时间序列数据而构建的一种集合类型)。

● $lookup操作符。现在,开发者可以通过使用远程Atlas集群的数据,对流处理器中正在处理的文档以及目标集合中的字段进行连接,从而丰富流处理器中正在处理的文档。

●变更流变更前后文档信息的存储。许多开发者正在使用Atlas Stream Processing通过变更流持续处理Atlas数据库(作为源)中的数据。MongoDB在公共预览中增强了变更流$source变量,以支持变更前和变更后文档信息的存储。这一功能使得开发者能够处理一些常见的用例,包括计算文档中字段之间的增量或差异,以及访问已删除文档的完整内容等。

● 在合并和发出阶段使用动态表达式进行条件路由。通过条件路由,开发者可以使用Atlas Stream Processing正在处理的文档中的字段值,动态地将特定的消息发送到不同的Atlas集合或Kafka主题。现在 m e r g e 和 merge和 mergeemit阶段也支持使用动态表达式。基于此,用户可以根据需求,在需要将信息分发到不同集合或主题的用例中使用Query API查询。

● 空闲流超时。现在,用户可以对那些因缺乏传入数据导致水印无法更新的流进行配置,在特定时间段后关闭这些数据流,并输出窗口结果。这对于处理数据流不一致的流媒体源来说至关重要。

三、改善运行和增强安全性

最后,在最近几个月,MongoDB加大投入力度,改善Atlas Stream Processing的运行和安全。其中一些亮点包括:

● 检查点。目前,Atlas Stream Processing通过执行检查点的方式,在处理数据流过程中保存状态信息。由于流处理器处于持续运行状态,无论出现数据问题还是基础设施故障,都需要一种智能的恢复机制来确保它能够持续可靠地运行。通过采用检查点机制,用户可以轻松地从停止收集和处理数据的位置恢复流处理器的正常运行。

● Terraform提供商支持。Terraform目前支持创建连接和流处理实例(SPI)。这样可以将基础架构编写为可重复部署的代码。

● 安全角色。Atlas Stream Processing引入了项目级角色,为用户提供了执行流处理任务所需的完整权限。流处理器能够在特定角色的环境下运行,支持最低权限的配置选项。

● Kafka消费者群组支持。Atlas Stream Processing中的流处理器现在采用Kafka消费者群组来进行偏移跟踪。得益于此,用户可以轻松地调整处理器在流操作中的位置,并实时监控潜在的处理器延迟情况。

关于新功能的最后一点说明是,MongoDB计划在Atlas Stream Processing的公开预览版中,开始按照促销价格收取费用,直至可广泛使用的版本正式发布。更多关于Atlas Stream Processing价格的详细信息,请参阅MongoDB的相关文档。

对MongoDB而言,公共预览版的推出是重要的一步,它标志着MongoDB的开发者数据平台得到了扩展,为更多团队提供了流处理解决方案。该解决方案旨在简化构建反应式、响应式和事件驱动型应用程序的操作复杂性,同时提升开发者的体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/697437.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用k-近邻算法改进约会网站的配对效果(kNN)

目录 谷歌笔记本(可选) 准备数据:从文本文件中解析数据 编写算法:编写kNN算法 分析数据:使用Matplotlib创建散点图 准备数据:归一化数值 测试算法:作为完整程序验证分类器 使用算法&…

js过滤取出对象中改变的属性和值

朋友公司的面试题 ,取出对象中被改变的属性和值 const obj1 { a: 1, b: 2, c: 4 }; const obj2 { a: 1, b: 2, c: 5 }; 方法1 function testFun(obj1, obj2) {const diff {};const keys1 Object.keys(obj1);const keys2 Object.keys(obj2);const allKyes keys…

【深度学习】Gemini 1.0 Pro 如何让chatGPT扮演stable diffusion的提示词工程师

google也出了一个chatGPT,免费申请使用: https://aistudio.google.com/app/prompts/new_chat https://github.com/google/generative-ai-docs/blob/main/site/en/tutorials/rest_quickstart.ipynb 模型信息: $ curl https://generativelan…

SpringCloud(14)之SpringCloud Consul

我们知道 Eureka 2.X 遇到困难停止开发了,所以我们需要寻找其他的替代技术替代Eureka,这一小 节我们就讲解一个新的组件Consul。 一、Consul介绍 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式…

kali xrdp

Kali Linux 使用远程桌面连接——xrdp&xfce_kali xfce桌面-CSDN博客 Ubuntu/Debian/Kali xrdp远程桌面黑屏/空屏/无画面解决办法 - 知乎 (zhihu.com) sudo apt-get install xrdp -y sudo apt-get install xfce4 -ysudo systemctl enable xrdp --now systemctl status xrd…

中级.NET开发工程师面试经历

文章目录 前言面试题目(只记录了还记得的部分)一.简单说下.NETCORE的生命周期?二.C#如何保证在并发情况下接口不会被重复触发?三.引用类型和值类型有什么区别?四.那怎样能让引用类型和值类型一样,在赋值的时…

【Latex】TeXstudio编译器选项修改

1、动机 编译国科大博士毕业答辩论文latex时报错 Package ctable Error: You must load ctable after tikz. 2、方法 经过搜索发现是因为这是中文模板,编译的选项不对,需要从 PDFLaTeX 调整到 XeLaTeX。于是操作如下 1)点击选项 2&#xf…

linux 文件目录操作命令【重点】

目录 ls cd cat more tail【工作中使用多】 mkdir rmdir rm ls 作用: 显示指定目录下的内容 语法: ls [-al] [dir] 说明: -a 显示所有文件及目录 (. 开头的隐藏文件也会列出) -l 除文件名称外,同时将文件型态(d表示目录,-表示文件)、权限…

SpringMVC POST请求传参 属性名字母大写注入失败解决方案

问题描述: 我现在有一个接口通过一个实体(RequestBody)去接收一系列的参数,前端传参为一个JSON字符串,但是当我的属性名以大写字母开头(有的中间还有下划线),或者第二个字母是大写字母的时候,我发现后端接收不到参数值…

Flask——基于python完整实现客户端和服务器后端流式请求及响应

文章目录 本地客户端Flask服务器后端客户端/服务器端流式接收[打字机]效果 看了很多相关博客,但是都没有本地客户端和服务器后端的完整代码示例,有的也只说了如何流式获取后端结果,基本没有讲两端如何同时实现流式输入输出,特此整…

C++字符串类

C中有两种主要的字符串类&#xff1a;std::string 和 std::wstring。 std::string std::string 是 C 标准库中用于处理 ASCII 字符串的类。它提供了丰富的方法来操作字符串&#xff0c;包括插入、删除、查找子串、比较等功能。使用 std::string 需要包含头文件 <string>…

8.CSS层叠继承规则总结

CSS 层叠继承规则总结 经典真题 请简述一下 CSS 中的层叠规则 CSS 中的层叠继承规则 在前面《CSS属性的计算过程》中&#xff0c;我们介绍了每一个元素都有都有所有的属性&#xff0c;每一个属性都会通过一系列的计算过程得到最终的值。 这里来回顾一下计算过程&#xff0…

Node.js中如何处理异步编程

在Node.js中&#xff0c;处理异步编程是至关重要的技能。由于Node.js的单线程执行模型&#xff0c;异步编程可以极大地提高程序的性能和响应速度。本文将介绍几种常见的异步编程处理方式&#xff0c;并附上示例代码&#xff0c;帮助您更好地理解和应用异步编程技术。 回调函数…

家政小程序开发,引领家庭服务新时代的科技革命

随着科技的飞速发展&#xff0c;人们的生活方式正在发生深刻的变化。其中&#xff0c;家政服务作为日常生活的重要组成部分&#xff0c;也在经历着一场由小程序技术引领的科技革命。本文将探讨家政小程序的发展趋势、功能特点以及对家庭服务的深远影响。 一、家政小程序的发展…

Linux命令-chattr命令(用来改变文件属性)

说明 chattr命令 用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性&#xff0c;这些属 性共有以下8种模式。 语法 chattr(选项)选项 a&#xff1a;让文件或目录仅供附加用途&#xff1b; b&#xff1a;不更新文件或目录的最后存取时间&#xff1b; c…

NFTScan Labs,一个聚焦在 NFT 领域的开发者组织

NFTScan Labs 是一个聚焦在 NFT 领域的开发者组织&#xff0c;成立于 2021 年 3 月份。NFTScan Labs 核心成员从 2016 年开始涉足区块链领域&#xff0c;有多年开发经验和前沿行业认知&#xff0c;对加密钱包、区块链安全、链上数据追踪、DeFi、预言机、NFT 等领域有深入的研究…

2/22作业

1.按位置插入 void insert_pos(seq_p L,datetype value,int pos) { if(LNULL) { printf("入参为空\n"); return; } if(seq_full(L)) { printf("表已满\n"); return; } if(pos>L->len|…

Jenkins的使用GIT(4)

Jenkins的使用GIT 20211002 我们使用 Jenkins 集成外部 Git 仓库&#xff0c;实现对真实代码的拉取和构建。在这里&#xff0c;我们选用 Coding/Github/Gitee 等都可以作为我们的代码源 1 生成公钥私钥 首先&#xff0c;我们先来配置公钥和私钥。这是 Jenkins 访问 Git 私有库…

【nvm】下载安装及使用(包含windows和Linux)

目录 1、Windows版本下载及安装 2、Linux下载及安装 下载 安装 3、使用 在不借助第三方工具的情况下切换node版本&#xff0c;只能卸载现有版本&#xff0c;安装需要的版本&#xff0c;这样显然很麻烦。而nvm就很好的帮我们解决了这个问题。 nvm&#xff08;node.js vers…

QT中调用python

一.概述 1.Python功能强大&#xff0c;很多Qt或者c/c开发不方便的功能可以由Python编码开发&#xff0c;尤其是一些算法库的应用上&#xff0c;然后Qt调用Python。 2.在Qt调用Python的过程中&#xff0c;必须要安装python环境&#xff0c;并且Qt Creator中编译器与Python的版…