FerretDB : l’alternative open source à MongoDB qui parie sur PostgreSQL

FerretDB : l'alternative open source à MongoDB qui parie sur PostgreSQL

FerretDB propose une architecture hybride qui traduit les commandes de MongoDB en SQL sur PostgreSQL, visant à redonner la liberté et la transparence exigées par de nombreux développeurs et infrastructures modernes.

Depuis des années, MongoDB symbolisait l’agilité et la flexibilité pour les développeurs. Son modèle orienté document et la facilité d’utilisation de ses pilotes en ont fait un incontournable dans l’univers des bases de données NoSQL. Cependant, le changement de licence vers la SSPL a entraîné un revirement dans la perception de nombreux utilisateurs, qui recherchent des alternatives plus ouvertes. C’est dans ce contexte qu’émerge FerretDB, une solution qui préserve l’expérience MongoDB tout en stockant les données dans PostgreSQL.

Qu’est-ce que FerretDB ?

FerretDB n’est pas une base de données à proprement parler, mais un proxy qui fait le lien entre les clients MongoDB et une base de données PostgreSQL. Il utilise l’extension DocumentDB pour supporter les structures JSON et traduit automatiquement les opérations du protocole BSON de MongoDB en requêtes SQL standard.

Cela permet à toute application utilisant des pilotes MongoDB de fonctionner avec FerretDB sans nécessiter de modifier une seule ligne de code.

Architecture et fonctionnement

FerretDB fonctionne comme une couche intermédiaire transparente. Son design est compatible avec des clients tels que mongosh, Compass ou des bibliothèques comme Mongoose ou PyMongo.

Schéma fonctionnel :

  • Client ou application avec pilote MongoDB → FerretDB → PostgreSQL avec support JSONB

Grâce à cette architecture, les développeurs peuvent conserver l’expérience de développement avec MongoDB tout en bénéficiant de la fiabilité, de la cohérence transactionnelle et des outils de l’écosystème PostgreSQL.

Pourquoi choisir FerretDB ?

FerretDB naît d’un besoin clair : offrir une alternative véritablement open source à MongoDB, sans les contraintes de la SSPL. Voici quelques-unes de ses avantages clés :

Licence Apache 2.0

Comparée à la SSPL de MongoDB, qui n’est pas reconnue par l’OSI et possède des limitations commerciales, FerretDB opte pour une licence Apache 2.0, largement acceptée et compatible avec les environnements d’entreprise et communautaires.

Compatibilité totale avec MongoDB

FerretDB supporte les principales opérations de MongoDB :

  • find, insert, update, delete
  • Indices
  • Opérations d’agrégation
  • Requêtes géospatiales (en développement)

Fiabilité de PostgreSQL

Les données sont stockées dans PostgreSQL en utilisant des colonnes JSONB, ce qui permet :

  • Conformité ACID
  • Compatibilité avec les outils SQL
  • Intégration avec les environnements Kubernetes, sauvegardes avancées et réplication native

Infrastructure durable

FerretDB s’aligne avec la tendance vers des infrastructures ouvertes, facilement intégrables dans des plateformes telles que Docker, Kubernetes ou des environnements cloud multicloud.

Comparatif : FerretDB vs MongoDB

Caractéristique MongoDB Community Edition FerretDB + PostgreSQL
Licence SSPL (non OSI) Apache 2.0
Moteur de stockage WiredTiger PostgreSQL (JSONB)
Compatibilité avec les pilotes Natif Compatible
Requêtes SQL Non Oui
Flexibilité de déploiement Moyenne Élevée
Maturité pour la production Élevée Moyenne (en croissance)

Démarrer avec FerretDB (Docker)

Pour des tests rapides, FerretDB propose une image Docker préconfigurée :

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

Cette image contient :

  • FerretDB
  • PostgreSQL avec l’extension DocumentDB
  • Client MongoDB Shell

Note : cette configuration ne garde pas les données après l’arrêt. Pour la production, une installation plus robuste est recommandée, comme le décrivent sa documentation officielle.

Cas d’utilisation et écosystème

FerretDB bénéficie déjà d’un support sur des plateformes telles que :

  • FerretDB Cloud
  • Tembo
  • Civo
  • Elestio
  • Cozystack

Il se présente comme une solution idéale pour :

  • Projets SaaS nécessitant une compatibilité MongoDB sans restrictions de licence
  • Équipes DevOps gérant des architectures multiclients
  • Développeurs souhaitant mélanger des capacités NoSQL avec des outils SQL traditionnels

De plus, une version intégrée en tant que bibliothèque Go est disponible, idéale pour des intégrations avancées dans des services backend.

Communauté et avenir

Le projet progresse rapidement, avec des améliorations constantes dans le support des agrégations, la performance et la compatibilité. Sa communauté est dynamique, avec des dépôts ouverts et des feuilles de route publiques.


FerretDB représente un pont entre deux mondes : le dynamisme de MongoDB et la solidité de PostgreSQL. À une époque où la souveraineté technologique et la transparence sont plus importantes que jamais, cette solution open source se positionne comme une alternative robuste, efficace et éthique pour les développeurs et architectes de systèmes.

Vous recherchez l’agilité de MongoDB sans contraintes ? FerretDB pourrait être la réponse.

le dernier