FerretDB 1.0 正式 GA,MongoDB 开源替代品


经过几个月的开发,FerretDB 现在已经达到生产可用了,这是一个开源的 MongoDB 替代品,建立在 PostgreSQL 之上,并在 Apache 2.0 许可下发布。

/attach/20230415/dcf0907fd28908c1274e6cfcece5bde5dc195645.jpg

FerretDB 希望将 MongoDB 数据库的工作负载带回其开源的本源,使 PostgreSQL 和其他数据库后端能够运行 MongoDB 工作负载,保留 MongoDB 现有生态所提供的机会。

  • 在任何地方部署 + 保持对你的数据的控制
  • 在基于云的项目中自由使用它
  • 使用现有的 PostgreSQL 基础设施来运行 MongoDB 工作负载

GA 的主要功能补充

在这个 GA 版本中,FerretDB 现在支持createIndexes命令。这将使你能够指定你想要索引的字段,以及要使用的索引类型(例如,升序、降序等)。

例如,假设你有一个 users 集合,包含几个字段,包括 "age"、"name"和 "email",你想为 "age" 字段创建一个索引。现在你可以运行下面的命令:

db.users.createIndex({ age: 1 })

这将在 "age" 字段上创建一个升序索引,这将加快对该字段进行过滤的任何查询。

还添加了dropIndexes命令,它允许你从一个集合中删除索引。下面是一个例子:

db.users.dropIndex({ age: 1 })

这将从 "users" 集合中删除索引。

FerretDB 1.0 扩展了聚集管道的功能,除了在 $group 阶段内的 $sum 累加器外,还包括其他阶段,如 $unwind$limit$skip。通过这些补充,可以对采集数据进行更精细的计算和操作。除了这些,还在$collStats聚合管道阶段增加了对countstorageStats字段的支持。

为了帮助你收集更多关于集合、数据库和服务器性能的信息,FerretDB 1.0 启用了对几个服务器命令的部分支持,包括collStatsdbStatsdataSize

要检索一个集合的统计数据,请使用collStats命令:

db.runCommand({ collStats: "users" })

如果是关于数据库的统计,运行下面的命令:

db.runCommand({ dbStats: 1 })

对于集合的总数据量,运行下面的命令:

db.runCommand({ dataSize: "<database>.<collection>" })

项目状态

FerretDB 现在拥有:

  • 超过 40 位代码贡献者,有超过 130 个来自我们社区的 PR
  • 在 GitHub 上有超过 5.6k Stars 和 200 次 Forks
  • 超过 100 个运行中的实例
  • FerretDB 下载超过 10000 次

随着 FerretDB 1.0 的发布,这些数字还会继续增长。

更多详情可查看:https://blog.ferretdb.io/ferretdb-1-0-ga-opensource-mongodb-alternative/


相關推薦

2022-07-28

etDB(以前被称为 MangoDB)的成立是为了成为 MongoDB 的开源替代品。FerretDB 是一个开源代理,将 MongoDB wire protocol 查询转换为 SQL —— 使用 PostgreSQL 作为数据库引擎。 目前 FerretDB 已发布 0.5.1 版本,带来如下变更: 新功能 验

2022-09-23

etDB(以前被称为 MangoDB)的成立是为了成为 MongoDB 的开源替代品。FerretDB 是一个开源代理,将 MongoDB wire protocol 查询转换为 SQL —— 使用 PostgreSQL 作为数据库引擎。 目前 FerretDB 已发布 0.5.0 版本,此版本带来如下改进: 修复错

2022-06-28

etDB(以前被称为 MangoDB)的成立是为了成为 MongoDB 的开源替代品。FerretDB 是一个开源代理,将 MongoDB wire protocol 查询转换为 SQL —— 使用 PostgreSQL 作为数据库引擎。 目前 FerretDB 已发布 0.4.0 版本,此版本增加了对 Tigris 后端的初

2023-02-14

etDB(以前被称为 MangoDB)的成立是为了成为 MongoDB 的开源替代品。FerretDB 是一个开源代理,将 MongoDB wire protocol 查询转换为 SQL —— 使用 PostgreSQL 作为数据库引擎。 目前 FerretDB 已发布 0.9.1 版本,此版本带来如下改进: 新功能

2023-08-23

使用内置的 PostgreSQL 作为存储。 NocoDB 是 Airtable 的开源替代品,那 AirTable 又是什么呢?其实有点类似于 Google Docs / 腾讯云文档。但是提供了非常丰富的接口,钩子,可以用来实现一些非常强大的功能。 NocoDB 可以让各种关系

2023-05-14

代滚动机制。基于键集和偏移量的滚动最初可用于 JPA、MongoDB 和 Neo4j,并将随着时间的推移扩展到其他模块。由于 Scroll API 对底层滚动机制的意见较少,Cassandra 的分页将非常适合未来的 Scroll API 采用。 在各个模块中还有许多其

2022-11-23

Spring Authorization Server 1.0 现已正式发布,Spring Authorization Server 是 Spring Security 团队领导的社区驱动项目,致力于解决 Spring 社区的 OAuth 2.0 Authorization Server 支持问题。 公告称,自 2020 年 4 月 2 日首次提交以

2022-06-21

即用的本地维基百科,以及为Postgres提供MongoDB API 能力的 FerretDB(原名叫 MangoDB,碰瓷 MongoDB 被呲了才改名的) WIKI.js 你自己的维基百科,数据使用Postgres存储,与Markdown互通。 https://pigsty.cc/zh/docs/app/docker/wiki/ FerretDB 为Postgre

2022-11-26

em for Linux (WSL) 已从“预览”阶段毕业,并随着 1.0 的发布正式升级为 "GA"。 WSL 在去年被上架到 Microsoft Store,以方便用户更容易进行安装和更新,最初只支持 Windows 11。现在微软表示,为了满足社区用户的需求,Microsoft Store

2023-08-11

Spring Modulith 1.0 RC1 现已正式发布。Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块

2023-11-20

Spring Data KeyValue3.2 GA-Javadoc-Documentation-Changelog Spring Data MongoDB4.2 GA-Javadoc-Documentation-Changelog Spring Data for Apache Cassandra4.2 GA-Javadoc-Documentation-Changelog Spring Data Neo4j7.2 GA-Javadoc-Documentation-Changelog Spring Data LDAP3.2 GA-Javadoc-Documentation-C

2022-11-21

Rocky Linux 8.7 已正式 GA。Rocky Linux 是一个企业级 Linux 发行版,与 RHEL 完全兼容,由 CentOS 创始人 Gregory Kurtzer 创建和领导,支持 x86_64 和 AArch64 处理器架构。 新版下载地址:https://rockylinux.org/download/ 主要变化 NetworkManager 已 re

2023-07-27

Arc 浏览器终于发布了 1.0 正式版,目前仅支持 macOS 和 iOS,Windows 版本仍在开发中。 下载地址:Arc 官网 | App Store Arc 的官网广告语直接引用了媒体评价:Arc is the Chrome replacement I’ve been waiting for. Arc 是由 Josh Miller 和 Hur

2024-08-29

iltonDB),Oracle via (IvorySQL),Oracle RAC (via PolarDB), MongoDB(via FerretDB),以及 Firebase (via Supabase)。 Pigsty v3 还提供了 DuckDB 的进阶支持,除了原生 duckdb CLI 工具外,还编译打包了融合 PG / DuckDB 能力生态扩展:pg_lakehouse,pg_analyticss