FerretDB: De open source alternatief voor MongoDB dat inzet op PostgreSQL

FerretDB: De hybride oplossing voor moderne databasebehoeften

In de wereld van databases heeft MongoDB jarenlang de standaard gezet voor wendbaarheid en flexibiliteit. Met zijn documentgeoriënteerde model en gebruiksvriendelijke drivers bleef het een populaire keuze onder ontwikkelaars. Echter, de recente licentiewijzigingen naar SSPL hebben voor een verschuiving in de perceptie gezorgd, waardoor gebruikers nu op zoek zijn naar openere alternatieven. In dit kader komt FerretDB naar voren, een innovatieve oplossing die de gebruikerservaring van MongoDB behoudt, terwijl het de data opslaat in PostgreSQL.

Wat is FerretDB?

FerretDB is geen database in de traditionele zin, maar een proxy die fungeert als tussenpersoon tussen MongoDB-klanten en een PostgreSQL-database. Het maakt gebruik van de DocumentDB-extensie om JSON-achtige structuren te ondersteunen en zet automatisch de BSON-protocoloperaties van MongoDB om naar standaard SQL-queries.

Dit betekent dat elke applicatie die gebruikmaakt van MongoDB-drivers kan werken met FerretDB zonder ook maar één regel code te hoeven wijzigen.

Architectuur en werking

FerretDB fungeert als een transparante tussenlaag. Het ontwerp is compatibel met clients zoals mongosh, Compass en bibliotheken zoals Mongoose of PyMongo.

Functioneel schema:

  • Klant of applicatie met MongoDB-driver → FerretDB → PostgreSQL met JSONB-ondersteuning

Dankzij deze architectuur kunnen ontwikkelaars de ontwikkelervaring met MongoDB behouden, maar profiteren van de betrouwbaarheid, transactionele consistentie en tools uit het PostgreSQL-ecosysteem.

Waarom kiezen voor FerretDB?

FerretDB is ontstaan uit de noodzaak om een echt open source-alternatief voor MongoDB te bieden, zonder de beperkingen van de SSPL. Hier zijn enkele van de belangrijkste voordelen:

Apache 2.0 Licentie

In tegenstelling tot de SSPL van MongoDB, die niet door de OSI wordt erkend en commerciële beperkingen heeft, kiest FerretDB voor een licentie van Apache 2.0, die breed wordt geaccepteerd in zowel bedrijfsmatige als gemeenschappelijke omgevingen.

Volledige compatibiliteit met MongoDB

FerretDB ondersteunt de belangrijkste MongoDB-operaties:

  • find, insert, update, delete
  • Indexen
  • Aggregatie-operaties
  • Ruimtelijke queries (in ontwikkeling)

Betrouwbaarheid van PostgreSQL

De data wordt opgeslagen in PostgreSQL met gebruik van JSONB-kolommen, wat onder andere het volgende mogelijk maakt:

  • Naleving van ACID-principes
  • Compatibiliteit met SQL-tools
  • Integratie met Kubernetes-omgevingen, geavanceerde back-ups en native replicatie

Duurzame infrastructuur

FerretDB speelt in op de trend naar open infrastructuren, die eenvoudig te integreren zijn in platforms zoals Docker, Kubernetes of multicloud-omgevingen.

Vergelijking: FerretDB vs MongoDB

KenmerkMongoDB Community EditionFerretDB + PostgreSQL
LicentieSSPL (niet OSI)Apache 2.0
OpslagmotorWiredTigerPostgreSQL (JSONB)
Compatibiliteit met driversNativelyCompatibel
SQL-queriesNeeJa
InzetflexibiliteitGemiddeldHoog
ProductiematuriteitHoogGemiddeld (in groei)

Beginnen met FerretDB (Docker)

Voor snelle tests biedt FerretDB een vooraf geconfigureerde Docker-image:

docker run -d --rm --name ferretdb -p 27017:27017 \
  -e POSTGRES_USER=ferret \
  -e POSTGRES_PASSWORD=ferretpw \
  ghcr.io/ferretdb/ferretdb-eval:2

Deze image bevat:

  • FerretDB
  • PostgreSQL met DocumentDB-extensie
  • MongoDB Shell-client

Opmerking: deze configuratie zal geen data bewaren na uitschakeling. Voor productie wordt een robuustere installatie aangeraden zoals in de officiële documentatie beschreven.

Gebruiksscenario’s en ecosysteem

FerretDB heeft al ondersteuning in platforms zoals:

  • FerretDB Cloud
  • Tembo
  • Civo
  • Elestio
  • Cozystack

Het wordt gezien als een ideale oplossing voor:

  • SaaS-projecten die compatibiliteit met MongoDB vereisen zonder licentiebeperkingen
  • DevOps-teams die multiclient-architecturen beheren
  • Ontwikkelaars die NoSQL-mogelijkheden willen combineren met traditionele SQL-tools

Daarnaast is er een ingebedde versie als bibliotheek in Go, ideaal voor geavanceerde integraties in backend-diensten.

Gemeenschap en toekomst

Het project maakt snel vorderingen, met constante verbeteringen in support voor aggregaties, prestaties en compatibiliteit. De gemeenschap is actief, met open repositories en publieke roadmaps.


FerretDB vertegenwoordigt een brug tussen twee werelden: de dynamiek van MongoDB en de soliditeit van PostgreSQL. In een tijd waarin technologische soevereiniteit en transparantie belangrijker zijn dan ooit, positioneert deze open source-oplossing zich als een robuuste, efficiënte en ethische alternatief voor ontwikkelaars en systeemarchitecten.

Zoek je de wendbaarheid van MongoDB zonder verplichtingen? FerretDB kan de oplossing zijn.

Scroll naar boven