FerretDB 1.0 已经发布,这些是它的新闻

雪貂数据库

FerretDB 的成立是为了成为 MongoDB 事实上的开源替代品。

的推出 新版本的 FerretDB 1.0 项目,它允许您用 PostgreSQL 替换 MongoDB 的面向文档的 DBMS,而无需对您的应用程序代码进行任何更改。 FerretDB 作为代理服务器实现,将 SQL 查询中的 MongoDB 调用转换为 PostgreSQL,允许您将 PostgreSQL 用作实际存储。

1.0 版被标记为第一个可供一般使用的稳定版本。 FerretDB 的主要目标受众是不在其应用程序中使用 MongoDB 的高级功能,但希望使用完全开放的软件堆栈的用户。

在目前的发展阶段, FerretDB 支持 MongoDB 功能的一个子集 在典型应用中最常用的。 实施 FerretDB 的需要可能与 MongoDB 向非自由 SSPL 许可证的过渡有关,该许可证基于 AGPLv3 许可证,但不是开源的,因为它包含在 SSPL 许可证下提供的歧视性要求,不仅应用程序代码本身,也是提供云服务所涉及的所有组件的源代码。

MongoDB的 在键/值数据和 DBMS 上运行的快速和可扩展系统之间占据一席之地 功能强大且易于查询的关系数据库。 MongoDB 支持以类 JSON 格式存储文档,具有相当灵活的构建查询语言,可以为各种存储属性创建索引,提供二进制大对象的高效存储,支持向数据库更改和添加数据的日志记录操作,可以工作根据 Map/Reduce 范式,支持复制和构建容错配置。

FerretDB 1.0 的主要创新

在展示的这个新版本中,强调了 createIndexes 和 dropIndexes 命令已经实现 在集合上创建和放置一个或多个索引,除了命令 实现 getMore 以显示获取结果的新切片 从执行返回游标的命令,例如查找和添加。

新版本中另一个突出的变化 添加了对 $sum 聚合运算符的支持 计算组值的总和,以及添加的内容 支持 $limit 和 $skip 运算符 添加时限制数量和跳过文档,并且添加了对 $count 运算符的支持以在添加时计算文档。

除此之外,还注意到添加了对 $unwind 运算符的支持,以解析传入文档中的数组字段,并为数组的每个元素形成一个包含单独文档的列表,还添加了对命令 collStats 的部分支持, dbStats 和 dataSize 获取集合和数据库统计信息以及数据大小。

其他突出的变化 新版本:

  • 迭代器现在用于 `sort`、`limit`、`skip` 和 `projection`
  • 颠簸依赖
  • 资源跟踪增强
  • 添加了对 `find` 和 `count` 的 `skip` 参数的测试
  • 正确关闭迭代器
  • 对测试数据中大量初始化的改进

最后 如果您有兴趣了解更多有关它的信息,您可以查看详细信息 在下面的链接中。

对于那些对代码感兴趣的人,您应该知道它是用 Go 编写的,并在 Apache 2.0 许可下分发。

他们应该知道 测试 FerretDB 的最佳方法是修改它并在主机上运行它 (Linux、macOS 或 Windows),PostgreSQL 和其他依赖项通过 Docker Compose 在 Docker 容器内运行。

在 Linux 上,必须在主机上安装 docker。 在 macOS 和 Windows 上,必须使用 Docker Desktop,而在 Windows 上,必须配置为使用 WSL 2,无需任何分发; 所有命令都必须在主机上执行。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。