Building an open-source MongoDB-compatible database on top of PostgreSQL
summary
An open-source proxy named FerretDB converts the MongoDB 6.0+ wire protocol into SQL and runs on PostgreSQL, implemented in Go. It claims MongoDB compatibility and works for many CRUD patterns, but hits concrete limits: BSON/Javascript types, floats/NaN, timestamps and special numeric edge cases require mappings; some drivers and index behaviors differ; SSPL/SSPL-like license complexities push the decision to reimplement rather than reuse MongoDB code. Performance and full feature parity remain works in progress.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:43MongoDB internals challenges
- 3:27Licensing with AGPL and SSPL
- 6:10Open source principles
- 8:10Alternative solutions
- 10:00Designing MongoDB on PostgreSQL
- 13:24Storing documents and types
- 15:47Type compatibility limits
- 17:32Schema flexibility handling
- 19:18Integration testing
- 21:02Collections, validation, indexing
- 23:03Conclusion and FoundationDB
related talks
43mFerretDB — mongoDB on the outside, PostgreSQL on the inside
45mBuilding an Open Source MongoDB-compatible Database on Top of PostgreSQL
42mFrom MongoDB to Postgres: Building an Open Source Standard for Document Databases
32mMoving MongoDB Workloads to Postgres with FerretDB
32mFrom MongoDB to Postgres: Building an Open Standard for Document Databases
04mDave Stokes Talks Open - Episode 5
15mFrom MongoDB to Postgres: Building an Open Source Standard for Document Databases
48mThe NoSQL Way in PostgreSQL
