MongoDB Atlas → FerretDB
What it saves, what actually moves, what you rebuild — and the thing that catches people.
What it costs, and what it saves
FerretDB is Apache-2.0 and free; you pay for the Postgres underneath. Against a $3,200/month Atlas cluster, a well-sized managed Postgres runs several hundred. The saving is smaller than going fully relational but the work is a fraction.
Moves cleanly
Almost everything. FerretDB speaks the MongoDB wire protocol, so your drivers, connection strings and most queries keep working unchanged. This is the surgical exit.
You rebuild
Only what FerretDB does not yet implement — exotic aggregation stages and MongoDB-specific operators.
What MongoDB Atlas costs you today
A free M0 tier covers 512MB and genuinely works for prototypes. Beyond it, shared clusters start near $9/month, and dedicated clusters begin around $57/month for an M10 and rise steeply with memory and storage. Backups, data transfer and Atlas Search are billed separately. The pattern to watch is that dedicated clusters are priced by instance rather than usage, so a database that is mostly idle still costs the full rate. Figures checked 2026-08-07.
What actually holds you in
Moderate. The wire protocol and query language are MongoDB's, so application code is written against them — but that is precisely what FerretDB re-implements, which makes it the cheapest exit in the category. Data exports with `mongodump`. What genuinely binds you is Atlas-specific functionality: Atlas Search, Atlas Vector Search, Triggers and Data Federation have no equivalent in self-hosted MongoDB, let alone elsewhere. Teams that stick to plain queries move easily; teams that adopted Atlas Search have rebuilt search ahead of them.
What you are moving to
FerretDB implements the MongoDB wire protocol on top of Postgres, so an existing application keeps its drivers, its queries and its code while the data lives in an open relational database under a licence nobody will change. Apache-2.0, around 11k stars. It is the most surgical exit in this comparison: for the common case of a team using MongoDB as a straightforward document store, it is close to a drop-in. Compatibility is good rather than total — the exotic aggregation stages and MongoDB-specific features are where it stops.
Free and open source. You run it alongside your own Postgres.
FerretDB strengths
- Existing MongoDB drivers and queries keep working — minimal code change
- Apache-2.0, with data resting in Postgres
- Sidesteps the SSPL question entirely
- Lets you consolidate onto one database engine
What you give up
- Compatibility is good but not complete — test your aggregations
- Extra layer between application and storage
- Younger project with a smaller community
- Not faster than MongoDB; this is about licence and consolidation
The migration, step by step
- 1Run FerretDB locally against a test Postgres and point your test suite at it — this tells you in an afternoon whether the migration is viable
- 2Catalogue any failing queries; that list is your entire scope of work
- 3mongodump from Atlas, mongorestore into FerretDB
- 4Repoint the connection string, keep Atlas running
- 5Compare a week of production reads before cancelling
The gotcha
Compatibility is good, not total. Teams that skip the test-suite step in the first week discover an unsupported aggregation stage in production instead, which is the same discovery at a much worse moment.
When to stay on MongoDB Atlas
You lean on Atlas Search, Vector Search, Triggers or Data Federation — FerretDB has none of them.
Other ways off MongoDB Atlas
More Layer 3 migrations
Figures verified 2026-08-07 against vendor pricing pages. Prices change and migrations differ by estate — treat the cost delta as a starting model, not a quote. Rankings and recommendations here are merit-only; affiliate income never changes a verdict. See our methodology.