Building an open-source MongoDB-compatible database on top of PostgreSQL

Alexey Palazhchenko

FerretDB Inc

16 December, 15:50, «01 Hall. Tigran»


MongoDB is a life-changing technology for many developers, empowering them to build applications faster than using relational databases. However, MongoDB abandoned its open-source roots, changing the license to SSPL and making it unusable for many open-source and commercial projects. We decided to change that, so we started working on FerretDB – an open-source proxy written in Go. It accepts connections and handles queries from unmodified MongoDB clients, and stores data in PostgreSQL.

In my talk, I will briefly discuss our reasoning for starting this project, our vision, and our plans for the future. I will also cover a lot of technical aspects of FerretDB, such as:
• How did we implement the MongoDB wire protocol?
• How do we store MongoDB/BSON documents in PostgreSQL/jsonb columns?
• How do we query and filter data using SQL, and what problems have we encountered?
• How do we test our implementation?
• And others.

The talk was accepted to the conference program