GitHub - MangoDB-io/MangoDB: A truly Open Source MongoDB alternative
source link: https://github.com/MangoDB-io/MangoDB
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
MangoDB
MangoDB is set out to become the de-facto open-source alternative to MongoDB. MangoDB is an open-source proxy, which converts MongoDB wire protocol queries to SQL, and uses PostgreSQL as a database engine.
Why do we need MangoDB?
MongoDB is a life-changing technology for many developers, empowering them to build applications faster than using relational databases. Its easy-to-use and well-documented drivers make MongoDB one of the easiest to use database solutions available. However, MongoDB abandoned its open-source roots, changing the license to SSPL - making it unusable for many open source and commercial projects.
Most MongoDB users are not in need of many of the advanced features offered by MongoDB; however, they are in need of an open-source database solution. Recognizing this, MangoDB is here to fill the gap by providing an alternative.
Scope
MangoDB will be compatible with MongoDB drivers and will work as a drop-in replacement for MongoDB in many cases.
Current state
What you see here is a tech demo intended to show a proof of concept. Over the next couple of months, we will be working on adding more. See this example for a short demonstration.
MangoDB is in a very early stage and welcomes all contributors. See CONTRIBUTING.md.
Quickstart
Those steps describe a quick local setup. They are not suitable for production use.
- Store the following in the
docker-compose.yml
file:
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 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 ports: - 27017:27017 command: ["--listen-addr=:27017", "--postgresql-url=postgres://user@postgres:5432/mangodb"]
postgres
container runs PostgreSQL 14 that would store data.postgres_setup
container creates a PostgreSQL schematest
that would act like a MangoDB database of the same name.mangodb
runs MangoDB.
-
Start services with
docker-compose up -d
. -
If you have
mongosh
installed, just run it to connect to MangoDB databasetest
. If not, run the following command to runmongosh
inside the temporary MongoDB container, attaching to the same Docker network:
docker run --rm -it --network=mangodb_default --entrypoint=mongosh mongo:5 mongodb://mangodb/
Contact us
Visit us at www.mangodb.io, get in touch, and sign up for updates on the project.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK