MangoDB 项目的第一个公开版本现已推出,提供了一个面向文档的 DBMS MongoDB 的协议实现层,运行在 PostgreSQL DBMS 之上。 该项目旨在提供使用 MongoDB DBMS 将应用程序迁移到 PostgreSQL 的能力以及完全开放的软件堆栈。 该代码是用 Go 编写的,并根据 Apache 2.0 许可证分发。
该程序以代理的形式工作,将对 MangoDB 的调用转换为对 PostgreSQL 的 SQL 查询,并使用 PostgreSQL 作为实际存储。 该项目与 MongoDB 的驱动程序兼容,但仍处于原型阶段,不支持 MongoDB 协议的高级功能,尽管它已经适合翻译简单的应用程序。
由于项目过渡到非免费 SSPL 许可证,因此可能需要放弃使用 MongoDB DBMS,该许可证基于 AGPLv3 许可证,但不开放,因为它包含在 SSPL 许可证下交付的歧视性要求不仅是应用程序代码本身,还包括提供云服务所涉及的所有组件的源代码。
让我们回想一下,MongoDB 在以键/值格式操作数据的快速且可扩展的系统与功能强大且易于制定查询的关系 DBMS 之间占据着一席之地。 MongoDB 支持以类似 JSON 的格式存储文档,具有相当灵活的语言来生成查询,可以为各种存储属性创建索引,有效地提供大型二进制对象的存储,支持记录更改和向数据库添加数据的操作,可以按照Map/Reduce范式工作,支持容错配置的复制和构建。
来源: opennet.ru