真正开源的MongoDB的替代品,MangoDB!

公众号程序猿DD

共 1912字,需浏览 4分钟

 ·

2021-11-30 22:10

大家好,我是TJ

一个励志推荐10000款开源项目与工具的程序员


MongoDB 作为一个基于分布式文件存储的数据库,在最新的DB-Engines排行榜中的分类排名中高居第一:

即使是所有类型数据库的综合排名,MongoDB也能挤进前五的位置,仅次于Oracle、 MySQL这些老牌子。

不过因为云计算的发展,导致MongoDB为了保障自己的权益,选择将其开源许可证从 GNU AGPLv3 切换到 Server Side Public License (SSPL),所以可能对于一部分小伙伴来说,MongoDB的开源有点变味。

今天呢,TJ君就要给小伙伴们分享一款真正开源的MongoDB的替代品,一款模仿MongoDB的开源项目:

MangoDB

从名字就可以看到,MangoDB对自己的定位。其实MangoDB是使用PostgreSQL作为数据库引擎,然后采用GO语言来将MongoDB的协议实现并转换成SQL。

作为一款模仿者,MangoDB几乎可以兼容所有的MongoDB库,不过作者也表示,MangoDB还处于项目的发展初期,很多功能还在完善测试,也欢迎程序员小伙伴们使用后给出改进建议。

如何快速使用MangoDB?

只需要三个步骤:

1、打开docker-compose.yml文件,输入以下内容:

version: "3"

services:
  postgres:
    image: postgres:14
    container_name: postgres
    ports:
      - 5432:5432
    environment:
      - POSTGRES_USER=user
      - POSTGRES_DB=mangodb
      - POSTGRES_HOST_AUTH_METHOD=trust

  postgres_setup:
    image: postgres:14
    container_name: postgres_setup
    restart: on-failure
    entrypoint: ["sh", "-c", "psql -h postgres -U user -d mangodb -c 'CREATE SCHEMA IF NOT EXISTS test'"]

  mangodb:
    image: ghcr.io/mangodb-io/mangodb:latest
    container_name: mangodb
    restart: on-failure
    ports:
      - 27017:27017
    command: ["--listen-addr=:27017", "--postgresql-url=postgres://user@postgres:5432/mangodb"]

其中,postgres部分设置运行存储数据的PostgreSQL 14;postgres_setup部分创建一个PostgreSQL测试模块,该测试的作用类似于同名的MangoDB数据库;mangodb部分用于运行MangoDB。

2、输入以下命令启动服务:

docker-compose up -d

3、这里有点不同的是,看你有没有安装mongosh,如果安装了的话,只需要运行后链接到MangoDB的数据库测试模块就可以了;如果没有,那就需要输入如下命令临时运行mongosh,连到Docker网络:

docker run --rm -it --network=mangodb_default --entrypoint=mongosh mongo:5 mongodb://mangodb/

喜欢MongoDB的或者想用MongoDB的小伙伴,都可以来试一试这款模仿版的MangoDB,项目地址如下:

点击下方卡片,关注公众号“TJ君

回复“mangodb”,获取仓库地址

关注我,每天了解一个牛x、好用、有趣的东东

往期推荐

一些和疫苗相关的工具及开源项目

IDEA有哪些快捷键操作?这款插件教你融会贯通所有!

人人影视彻底告别,那就自己来学做一款在线视频 App!

最新网易出品之摸鱼计算器,看看你上班能摸到多大的鱼?

这个开源项目让你学会如何快速搭建简约美观的在线互动教室

分享一款CHROME极速下载管理器插件



浏览 35
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报