暂无图片
暂无图片
18
暂无图片
暂无图片
暂无图片

FerretDB 2.0:开源 MongoDB,拥有 PostgreSQL 的强大功能

通讯员 2025-04-16
144

FerretDB,一个基于 PostgreSQL 的开源 MongoDB 代理,推出 2.0 版本,速度升级且支持中立 NoSQL 标准。


来自 Percona 创始人的一项新项目 FerretDB 致力于提供一个开源的 MongoDB NoSQL 文档型数据库系统的替代方案。

FerretDB 并非 MongoDB 的分支或重写,而是一个代理,将 MongoDB 5.0+的线协议查询转换为 SQL。它运行在 PostGreSQL 的标准版本上。

FerretDB 系统还可以作为 MongoDB 兼容云服务的本地替代方案,特别是 Microsoft CosmosDB 和来自 Amazon Web Services 的 DynamoDBGoogle Cloud 本身提供 MongoDB Atlas,MongoDB 的商业云版本)。

周二,该公司发布了开源软件的 2.0 版本,该版本由于包含了来自 Microsoft 的 DocumentDB 扩展 (作为数据库引擎)而获得了显著的性能提升。

此外,DocumentDB 扩展提供了对 BSON(二进制 JSON)数据类型 的支持,能够通过 SQL 查询文档数据。

事实上,FerretDB 可以将任何 Postgres 数据库系统转变为 MongoDB 服务提供商。

开源很重要

FerretDB 并非旨在作为所有 MongoDB 实例 的直接替代品——尤其是那些使用高级专有功能的实例——但据 FerretDB 联合创始人兼首席执行官 Peter Farkas 在接受 TNS 采访时估计,它应该适用于大约 80% 的工作负载。

它还与大多数第三方 MongoDB 工具和驱动程序兼容。

Farkas 与彼得·扎伊采夫阿列克谢·帕拉日琴科共同创立了 FerretDB。扎伊采夫是 Percona 的创始人之一,Percona 是一家专门为数据库如 MySQL、MongoDB 和 ValKey 提供高性能支持的公司。帕拉日琴科和 Farkas 也是 Percona 的早期员工。

最初,MongoDB 被 Web 开发者们发现是一个简单、非常可扩展的存储数据的方式。Mongo 使用更符合开发者习惯的 JSON 格式在文档模型中存储数据,与 SQL 模式定义的列和行相比,它更容易处理,尤其是在处理复杂嵌套数据时。

2018 年,MongoDB 将其同名文档存储的许可证更改为更严格的 SSPL 许可证  从 GPLv3),主要是为了阻止云服务提供商在不向 MongoDB 支付费用的情况下提供 MongoDB 功能(几年后,Redis 也遇到了类似的情况 Reddis)。

2021 年启动这个项目时,三位 Percona 的海外员工曾怀疑许多 MongoDB 用户需要一款开源许可版本。他们可能为那些完全基于开源软件构建其软件堆栈的组织工作。或者他们可能希望为云服务提供商提供开源的本地备份,Farkas 解释道。

OpenDocDB 标准

许多用户可能不愿意在由单一公司控制的开源项目上运行关键系统。认识到这一点,该公司推出了 OpenDocDB 计划,希望吸引一个围绕 FerretDB 的开发社区。

该想法是,就像 SQL 已经成为查询结构化数据的供应商中立标准一样,OpenDocDB 也可以从 MongoDB API 构建,成为查询面向文档数据库的标准。

沿着 Percona 路线图 ,FerretDB 本身计划通过提供工具和高级企业功能、云服务和针对高可用性关键部署的增值支持来盈利。


文章作者:乔阿布·杰克逊(Joab Jackson)

2025 年 3 月 5 日

文章转载自通讯员,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论