FerretDB 2.0:使用PostgreSQL能力的开源MongoDB

译自:FerretDB 2.0: Open Source MongoDB With PostgreSQL Power

作者:Joab Jackson

FerretDB,一个基于 PostgreSQL 的开源 MongoDB 代理,发布 v2.0 版本,提升速度并采用厂商中立的 NoSQL 标准。

Percona 创始人的一个新项目 FerretDB 旨在为 MongoDB NoSQL 文档导向数据库系统提供一个开源替代方案。

FerretDB 不是一个分支,也不是 MongoDB 的重写。相反,它是一个代理,将 MongoDB 5.0+ wire protocol 查询转换为 SQL。它运行在 PostGreSQL 的 stock 版本上。

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

周二,该公司发布了 2.0 版本的 开源软件,由于包含了 DocumentDB extension for PostgreSQL(由 Microsoft 提供)作为数据库引擎,因此性能得到了显着提升。

此外,DocumentDB 扩展提供了对 BSON (Binary JSON) data type 的支持,从而能够通过 SQL 查询文档数据。

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

开源很重要

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

它还可以与大多数第三方 MongoDB 工具和驱动程序一起使用。

Farkas 与 Peter Zaitsev 和 Alexey Palazhchenko 共同创立了 FerretDB。Zaitsev 是 Percona 的创始人之一,该公司专门为 MySQL、MongoDB 和 ValKey 等数据库提供 高性能支持。Palazhchenko 和 Farkas 也是 Percona 的早期员工。

最初,MongoDB 作为一种简单、高度可扩展的数据存储方式,在 Web 开发人员中找到了归宿。Mongo 使用更友好的 JSON format 以文档导向模型存储数据,这比 SQL 模式定义的列和行更容易使用,尤其是在处理复杂的嵌套数据时。

2018 年,MongoDB 将其同名文档存储的许可证更改为更严格的 SSPL license从 GPLv3),这主要是为了阻止云提供商在不回报项目的情况下提供 MongoDB 功能(Reddis 几年后也遇到了类似的情况)。

这三位 Percona 资深人士于 2021 年启动了这个项目,他们怀疑许多 MongoDB 用户需要一个开源许可的版本。Farkas 解释说,他们可能为一家完全在其 open source software 上构建软件堆栈的组织工作。或者他们可能想要一个用于云提供商的开源本地备份。

OpenDocDB 标准

许多用户可能不希望在由一家公司控制的开源项目上运行关键系统。认识到这一点,该公司启动了 OpenDocDB 计划,希望围绕 FerretDB 吸引一个开发社区。 这个想法是,正如 SQL 已经成为查询结构化数据的供应商中立标准一样,OpenDocDB 也可以基于 MongoDB API 成为查询面向文档的数据库的标准。

按照 Percona 手册,FerretDB 本身计划通过提供工具和高级企业功能、云服务以及对高可用性关键任务部署的优质支持来赚钱。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注