近日 FerretDB 宣布推出 2.0 版本的首个候选发布版。FerretDB 由新近发布的 documentDB 驱动,作为 MongoDB 的开源替代方案,它带来了显著的性能提升、更强的功能兼容性、向量搜索能力以及复制支持。
正如 InfoQ 此前报道,FerretDB 最初在三年前以 MangoDB 的名称推出,并于去年正式发布。FerretDB 的联合创始人兼首席执行官 Peter Farkas 写道:
FerretDB 基于 Apache 2.0 许可发布,通常与 MongoDB 的驱动程序和工具兼容。对于许多倾向于避开 SSPL 许可(一种 copyleft 开源软件许可)的开源项目和早期商业项目而言,它被设计为 MongoDB 5.0 及以上版本的直接替代品。
FerretDB 2.x 利用了微软的 documentDB PostgreSQL 扩展。这个基于 MIT 许可的开源扩展为 PostgreSQL 引入了 BSON 数据类型及相关操作。该解决方案包含两个 PostgreSQL 扩展:用于 BSON 优化的 pg_documentdb_core 和用于数据操作的 pg_documentdb_api。
FerretDB 团队表示,保持 documentDB 与 FerretDB 之间的兼容性,能让用户在 Postgres 上运行文档数据库工作负载时获得更好的性能,并且对现有应用程序有更好的支持。Azure 的首席产品经理 Abinav Rameesh 在描述基于 vCore 的 Azure Cosmos DB for MongoDB 背后的引擎时解释道:
Farkas 在领英(linkedIn)上评论补充道:
在另一篇文章中,Farkas 解释了为什么他认为文档数据库除了做到 “与 MongoDB 兼容” 之外,还需要标准化。FerretDB 列出了与 MongoDB 的 已知差异,并指出虽然它使用相同的协议错误名称和代码,但在某些情况下,确切的错误消息可能有所不同。尽管与 documentDB 集成提升了性能,但与 FerretDB 1.0 相比,这代表了重大转变并引入了回归限制。Farkas 写道:
作为 FerretDB 2.0 发布的一部分,FerretDB Cloud 正在开发中。这个托管数据库即服务选项最初将在 AWS 和 GCP 上提供,后续还计划支持微软 Azure。FerretDB 项目的高级路线图可在 GitHub 上查看 。
Renato Losio,Renato 作为云架构师、技术主管和云服务专家,拥有丰富的经验。目前,他居住在柏林,担任首席云架构师开展远程工作。他主要感兴趣的领域包括云服务和关系型数据库。他是 InfoQ 的编辑,也是经过认证的 AWS Data Hero。
https://www.infoq.com/news/2025/02/ferretdb-documentdb/