翻译审校 | InfoQ 编辑部
近日 FerretDB 宣布推出 2.0 版本的首个候选发布版。FerretDB 由新近发布的 DocumentDB 驱动,作为 MongoDB 的开源替代方案,它带来了显著的性能提升、更强的功能兼容性、向量搜索能力以及复制支持。
正如 InfoQ 此前报道,FerretDB 最初在三年前以 MangoDB 的名称推出,并于去年正式发布。FerretDB 的联合创始人兼首席执行官 Peter Farkas 写道:
“FerretDB 2.0 在性能和兼容性方面实现了巨大飞跃。由于底层的改进,FerretDB 在处理某些工作负载时速度提升了 20 倍,性能与市场上的领先竞品相当。之前版本中可能遇到兼容性问题的用户会惊喜地发现,FerretDB 现在支持更广泛的应用程序,能让更多应用无缝运行。”
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 背后的引擎时解释道:
“寻找即用型 NoSQL 数据库的用户可以借助 FerretDB 中的现有解决方案……用户可以通过 Postgres 与 DocumentDB 进行交互,而 FerretDB 2.0 则提供了符合文档数据库协议的接口。”
Farkas 在领英(LinkedIn)上评论补充道:
“随着微软开源 DocumentDB,我们比以往任何时候都更接近,能真正在行业内开展协作共同创建文档数据库的开放标准。”
在另一篇文章中,Farkas 解释了为什么他认为文档数据库除了做到 “与 MongoDB 兼容” 之外,还需要标准化。FerretDB 列出了与 MongoDB 的 已知差异,并指出虽然它使用相同的协议错误名称和代码,但在某些情况下,确切的错误消息可能有所不同。尽管与 DocumentDB 集成提升了性能,但与 FerretDB 1.0 相比,这代表了重大转变并引入了回归限制。Farkas 写道:
“随着 FerretDB 2.0 的发布,我们现在专注于利用 DocumentDB 支持 PostgreSQL 数据库(……)不过,对于那些依赖早期版本和后端的用户,FerretDB 1.x 版本仍可在我们的 GitHub 仓库中获取,我们鼓励社区继续为其开发作出贡献,或者自行进行分支和扩展。”
作为 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/
声明:本文为 InfoQ 翻译整理,未经许可禁止转载。