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

711次阅读
没有评论

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

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

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/

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 1
评论(没有评论)
Generated by Feedzy