开源MongoDB替代品FerretDB现已正式发布

FerretDB 宣布正式发布:开源的 MongoDB 替代数据库

FerretDB 是一个开源的 MongoDB 替代数据库,近期宣布其正式版本(GA)的发布。该项目基于 Apache 2.0 许可证,允许开发者使用现有的 PostgreSQL 基础设施来运行 MongoDB 工作负载。

主要功能与架构

FerretDB 作为一个代理,将 MongoDB 的 wire protocol 查询转换为 SQL,并以 PostgreSQL 作为数据库后端。它的目标是成为 MongoDB 的即插即用替代品,同时提供与 MongoDB 相同的 API,开发者无需学习新的语言或命令。FerretDB 的联合创始人兼 CEO Peter Farkas 表示,他们正在为文档数据库创建一个新的标准,不仅将易用的文档数据库带回其开源根源,还允许不同的数据库引擎通过标准化接口运行文档数据库工作负载。

可插拔架构与未来发展

尽管 FerretDB 基于 PostgreSQL 构建,但其设计具有可插拔架构,支持其他后端数据库。目前,团队正在开发对 Tigris、SAP HANA 和 SQLite 的支持。该项目最初是作为对 MongoDB 2018 年采用的 Server Side Public License (SSPL) 的回应,因为 SSPL 并不完全符合开源软件的定义。

兼容性与工具支持

FerretDB 已经兼容了多种流行的数据库管理工具,如 mongosh、MongoDB Compass、NoSQL Booster 和 Mingo。在 1.0 版本中,FerretDB 增加了对 createIndexes 命令的支持,而 1.1.0 版本则增加了 renameCollection、投影字段赋值支持、$project 管道聚合阶段,以及在 SAP HANA 处理器中的 createdrop 命令。

社区与反馈

FerretDB 的发布在 Reddit 上引发了混合反馈,一些用户支持其抽象层,而另一些用户则认为 FerretDB 不是一个“真正的”数据库。开发者 Franck Pachot 还撰文介绍了如何在 YugabyteDB 上启用 MongoDB 兼容的 API,并提到 FerretDB 与 YugabyteDB 的连接非常简单。

其他替代方案

FerretDB 并不是唯一的 MongoDB 替代品,其他支持 MongoDB API 的无模式文档数据库包括 Amazon DocumentDB、Azure CosmosDB 和 MariaDB MaxScale。在最近的一次网络研讨会中,Udemy 的首席数据库可靠性工程师 David Murphy 比较了 CosmosDB、DocumentDB、MongoDB 和 FerretDB 作为文档数据库的表现。

项目资源

FerretDB 的项目和路线图可以在 GitHub 上找到,还提供了 Docker 镜像以及 RPM 和 DEB 包。

阅读 22
0 条评论