With version 1.0, MongoDB competitor FerretDB is now generally available. As a document database, FerretDB is closely based on MongoDB, understands the same syntax and allows the use of MongoDB workloads with backends such as PostgreSQL, Tigris and SAP HANA. Instead of the MongoDB Wire Protocol, FerretDB uses SQL.
FerretDB was created at the end of 2021 under the name MangoDB. The developers of the database are bothered by MongoDB’s SSPL license, which they don’t see as a true open source variant. FerretDB therefore runs under the Apache 2.0 license, which is why the developers are promoting their project as a “real” open source alternative to MongoDB.
With version 1.0, FerretDB can add new, special indexing commands, server queries and extends the functions of the aggregation pipeline. When indexing, you can use createIndexes
select specific fields and over dropIndexes
throw it out of the collection. The server commands provide for gathering information about collections, databases and server performance collStats
, dbStats
and dataSize
fast answers. The aggregation pipelines contain with $unwind
, $limit
and $skip
now additional steps. The stage $collStats
now supports the fields count
and storageStats
.
Postgres and Tigris connected, SAP HANA and SQLite are to come
FerretDB supports popular tools like mongosh, MongoDB Compass, NoSQL Booster and Mingo. For the backend, FerretDB offers an individually adaptable architecture. The developers build FerretDB on top of PostgreSQL and want to continue using Postgres as the main connection point in the future. In addition, there are partnerships with Tigris and SAP HANA, which means that their backend can already be connected to FerretDB. The developers are currently working on supporting SQLite.
For more information on the 1.0 release and the database’s capabilities, see FerretDB’s blog.
(pst)