MongoDB 向 PostgreSQL 宣战

上周 MongoDB 发布了一份亮眼的季度财报,盘后股价涨幅超过 18%。
在这里插入图片描述

值得一提的是,MongoDB 的 CEO Dev Ittycheria 特别提到 MongoDB 正在借助自己的数据库服务 Atlas 从 PostgreSQL 那里挖角。原话是举了一个博彩网站的例子:

“Initially, the team launched a platform on PostgreSQL but faced challenges with scalability, flexibility, and excessive complexity,” the CEO said on an investor call. “After migrating to MongoDB Atlas, the team also integrated Atlas Search to provide users with a better experience to find all available betting options. Fanatics plans to continue to expand on MongoDB Atlas as they ensure they can operate at scale as they prepare for the start of the NFL season.”

CEO 在一次投资者电话会议上说:「最初,团队在 PostgreSQL 推出了一个平台,但面临可扩展性、灵活性和过度复杂性的挑战。迁移到 MongoDB Atlas 后,团队整合了 Atlas Search,为用户提供更好的体验,帮助他们找到所有可用的投注选项。Fanatics 计划继续扩展 MongoDB Atlas,以确保他们在准备 NFL 赛季开始时能够进行大规模运营。」

有点拳打 PostgreSQL,脚踢 Elasticsearch 的意思。接着又说道:

“That technology has been around a long time,” he said. “They’re really the beneficiary of lift and shift from Oracle, SQL Server, and MySQL, so they’re kind of consolidating the relational market. In terms of why do we compete or why do we win… MongoDB has a very flexible schema allowing you to store documents in a JSON-like format. This is beneficial for application structures that evolve over time.”

「这种技术已经存在了很长时间,」他说。「他们确实是 Oracle、SQL Server 和 MySQL 优化的受益者,因此他们正在整合关系型市场。至于我们为什么要竞争,为什么要取胜…… MongoDB 的模式非常灵活,允许你以类似 JSON 的格式存储文档。这对随时间演变的应用结构非常有利。」

按照 MongoDB CEO 的说法,PostgreSQL 是 Oracle, SQL Server 和 MySQL 平替的受益者,正在统一关系型数据库的市场。而 MongoDB 的优势是灵活的 Schema。当然这个话,PostgreSQL 的支持者是不买账的,就像这个 HN 用户的留言:

在这里插入图片描述

当然也有其他用户站出来挺 MongoDB:

在这里插入图片描述

相比于 Schema 是否足够灵活的争议点,MongoDB CEO 提到的水平扩展能力,确实是原生 PostgreSQL 并不具备的:

在这里插入图片描述

对于像博彩网站这样数据处理量大,但又不差钱的团队,MongoDB 提供的整套商业化解决方案确实很有竞争力。

虽然 MongoDB 是非关系数据库,属于 NoSQL 阵营,而 PostgreSQL 是关系型数据库,属于 SQL 阵营。但是我们去年在「全方位对比 Postgres 和 MongoDB」就已经提到两者正在趋同:

MongoDB 变得更像传统关系型数据库,增加了多文档 ACID 事务,二级索引和高级查询功能。
Postgres 不断改进其 JSON 能力,如索引、查询优化和更多操作符,这不禁让人们好奇 MongoDB 是否已经过时。

此外在多模态上,两者也是各自阵营的门面担当。拿被 AI 带火的向量处理来说,MongoDB 提供了自己的 Vector Search,而 PostgreSQL 则有 pgvector。

在事务型数据库领域,一方是开源转型商业最成功的 MongoDB,一方则是社区结合生态最健康的 PostgreSQL。接下来,两者的竞争该会激励彼此更快地成长,最终收益的还是广大的开发者和 DBA 们。


💡 更多资讯,请关注 Bytebase 公号:Bytebase

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

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

相关文章

【C++ 第十八章】C++11 新增语法(4)

前情回顾: 【C11 新增语法(1):1~6 点】 C11出现与历史、花括号统一初始化、initializer_list初始化列表、 auto、decltype、nullptr、STL的一些新变化 【C11 新增语法(2):7~8 点】 右值引用和…

uniapp插槽用法

目录 什么是插槽? 基本概念 默认插槽 命名插槽 作用域插槽 场景一:子插槽向父组件传递一个字符串 场景二:子插槽向父组件传递对象 什么是插槽? 在 UniApp 中,插槽(Slot)是一种允许父组件向子组件特定位置插入HTML内容的方式。这种方式使得组…

快速便捷地解决 reCAPTCHA 的方法

reCAPTCHA 是一种流行的挑战-响应系统,旨在通过提供人类易于解决但机器难以解决的难题来保护网站免受机器人和自动化滥用。无论您是处理网络抓取项目中的 reCAPTCHA 的开发人员,还是在各种网站上浏览的用户,了解如何有效地处理 reCAPTCHA 都可…

每日OJ_牛客_五子棋(判断是否有赢)

目录 牛客_五子棋(判断是否有赢) 解析代码 牛客_五子棋(判断是否有赢) 五子棋__牛客网 题目: 用例输入: .................... .................... .................... .................... ....…

基础闯关4

环境配置 我们来配置LlamaIndex实验环境,首先创建Python环境并安装必要的库: conda create -n llamaindex python3.10 conda activate llamaindex conda install pytorch2.0.1 torchvision0.15.2 torchaudio2.0.2 pytorch-cuda11.7 -c pytorch -c nvid…

VBA数据库解决方案第十四讲:如何在数据库中动态删除和建立数据表

《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…

Pixelmator Pro for Mac 专业图像处理软件【媲美PS的修图软件】

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功 三、运行测试安装完成!!! 效果 一、下载软件 下载软件…

MySQL 使用C语言链接

mysql的基础,我们之前已经学过,后面我们只关心使用 要使用C语言连接mysql,需要使用mysql官网提供的库,大家可以去官网下载 我们使用C接口库来进行连接 要正确使用,我们需要做一些准备工作: 保证mysql服务有…

python常用库学习-Matplotlib使用

文章目录 安装 Matplotlib导入库基本示例1. 绘制简单的线图2. 散点图3. 柱状图4. 直方图5. 子图 更多高级功能1. 自定义样式2. 文本和注释3. 保存图形 示例:使用 Matplotlib 绘制多个图表示例 1: 绘制多个线图示例 2: 绘制散点图和直方图 参考文献 Matplotlib 是 Py…

MySQL数据库安装(详细)—>Mariadb的安装(day21)

该网盘链接有效期为7天,有需要评论区扣我: 通过网盘分享的文件:mariadb-10.3.7-winx64.msi 链接: https://pan.baidu.com/s/1-r_w3NuP8amhIEedmTkWsQ?pwd2ua7 提取码: 2ua7 1 双击打开安装软件 本次安装的是mariaDB,双击打开mar…

移动UI:成就勋章页面该如何设计,用例子说明。

移动应用的UI成就勋章页面通常是一个展示用户在应用中取得成就和获得勋章的页面。这种页面通常用于激励用户参与应用的活动,增加用户的参与度和忠诚度。 UI设计成就勋章页面时,一般会包括以下元素和功能: 1. 勋章列表: 展示用户…

集成电路学习:什么是ARM先进精简指令集计算机

ARM:先进精简指令集计算机 ARM先进精简指令集计算机(Advanced RISC Machine,简称ARM)是一种基于精简指令集计算机(RISC)原则的计算机处理器架构,由英国的ARM公司开发。这种架构以其低功耗和高性…

git创建本地分支并track跟踪远程分支

git创建本地分支并track跟踪远程分支 查看本地分支与远程分支的映射关系: git branch -vv 查看远程都有什么分支: git branch -r 在本地自动新建一个xxx分支,且自动track跟踪远程的同名xxx分支: git checkout --track origin/xx…

《黑神话:悟空》背后的渲染技术解析

《黑神话:悟空》作为备受瞩目的国产单机游戏,承载了深厚的文化底蕴,其背后的渲染技术无疑是推动其视觉表现达到新高度的关键。这款游戏不仅融合了传统与创新的角色设计,还通过一系列前沿的图形渲染技术,为玩家带来了前…

写的一致性问题之双写模式

文章目录 1、先写mysql:mysql会回滚,而redis不会回滚2、先写redis: 1、先写mysql:mysql会回滚,而redis不会回滚 写入msql成功,写入redis也成功,但是后续事务提交失败,mysql会回滚&a…

遗传算法Github初学

遗传算法的理论是根据达尔文进化论而设计出来的算法:人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因 遗传算法(genetic algorithm——GA)是计算数学中…

记一次Linux安装Maven、Git并拉取SpringBoot代码打包

记一次Linux安装Maven、Git并拉取SpringBoot代码打包 前言一、现在我用的方案二、安装Git三、安装maven四、脚本编写五、idea中运行六、总结 前言 在Java后端开发中,我相信基本上都在用springboot开发,因为它的约定优于配置,自动配置&#x…

五,Spring Boot中的 Spring initializr 的使用

五,Spring Boot中的 Spring initializr 的使用 文章目录 五,Spring Boot中的 Spring initializr 的使用1. 方式1:IDEA创建2. 方式2:start.spring.io 创建3. 注意事项和细节4. 最后: 需要:使用 Spring initi…

html+css网页设计 合十文化2个页面

htmlcss网页设计 合十文化2个页面 ui还原度90% 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 …

学习使用双指针

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:leetcode刷题 双指针,有时候是快慢指针的方式来进行题目, 有时候是同向双指针来完成题目(这个也叫滑动窗口), 有时候是通过两个…