La première version publique du projet MangoDB est disponible, offrant une couche implémentant le protocole de la base de données orientée documents MongoDB, fonctionnant au-dessus de la base de données PostgreSQL. Le projet vise à faciliter la migration des applications utilisant MongoDB vers PostgreSQL et à fournir une pile logicielle entièrement ouverte. Le code est écrit en Go et distribué sous la licence Apache 2.0.
Le programme fonctionne sous la forme d'un proxy, transposant les requêtes vers MangoDB en requêtes SQL vers PostgreSQL, utilisant PostgreSQL comme véritable stockage. Le projet est compatible avec les pilotes pour MongoDB, mais il est encore au stade de prototype et ne prend pas encore en charge les fonctionnalités avancées du protocole MongoDB, bien qu'il soit déjà adapté pour la migration d'applications simples.
Le besoin de se détourner de l'utilisation de MongoDB peut surgir en raison du passage du projet à une licence non libre SSPL, qui est fondée sur la licence AGPLv3, mais n'est pas ouverte, car elle comporte une exigence discriminatoire de livraison sous licence SSPL non seulement du code de l'application elle-même, mais aussi des sources de tous les composants impliqués dans la fourniture de service cloud.
Rappelons que MongoDB occupe une niche entre des systèmes rapides et évolutifs manipulant des données au format clé/valeur, et des bases de données relationnelles, fonctionnelles et pratiques pour formuler des requêtes. MongoDB prend en charge le stockage de documents au format JSON-like, dispose d'un langage suffisamment flexible pour formuler des requêtes, peut créer des index pour divers attributs stockés, assure efficacement le stockage de grands objets binaires, prend en charge le journal des opérations de modification et d'ajout de données à la DB, peut fonctionner selon le modèle Map/Reduce, prend en charge la réplication et la création de configurations tolérantes aux pannes.
Source : opennet.ru
