FerretDB¶
Note
FerretDB support is in beta. Feel free to use it but we suggest contacting our support before putting anything into production.
Managed instance of FerretDB, an Apache-licensed MongoDB alternative supporting multiple backend stores.
Configuration¶
FerretDB works out-of-the box without configuration.
PostgreSQL is used as default backend. We automatically enable PostgreSQL and
create a database ferretdb
owned by the ferretdb
user.
Updates to new PostgreSQL versions are done automatically as long as there’s only
the ferretdb
database in it.
FerretDB supports only one listen address. By default, it listens to the SRV interface, port 27017 like MongoDB, using IPv4.
Command Line Interface¶
As FerretDB is mostly line protocol-compatible with MongoDB, you can use tools
built for MongoDB. We install mongodb-tools
and mongosh
globally by default.
Use mongosh to query and update data as well as perform administrative operations:
mongosh $HOST
Authentication¶
Authenticating connections to FerretDB is not supported at the moment.
Migrating from MongoDB¶
Warning
Feature compatibility with MongoDB (namely version 6) is good and FerretDB is mostly a drop-in replacement. However, make sure to properly test your application with FerretDB in a staging environment before rolling it out to production.
Data dumps from MongoDB can be imported into a FerretDB instance.
On the FerretDB machine called example01
, dump all collections from a
MongoDB instance running on example03
, assuming default configuration of
the MongoDB role with no authentication needed.
See http://docs.mongodb.com/database-tools/mongodump/ for more information.
mongodump mongodb://example03 -o mongodb_dump
Import dump to FerretDB:
mongorestore mongodb://example01 mongodb_dump
Monitoring¶
Our monitoring checks that the ferretdb daemon is running and responds to requests. We also monitor the underlying PostgreSQL instance.