La sortie du projet FerretDB 0.3 a Ă©tĂ© publiĂ©e, permettant de remplacer la base de donnĂ©es orientĂ©e documents MongoDB par PostgreSQL sans modifier le code des applications. FerretDB est implĂ©mentĂ© comme un serveur proxy, traduisant les requĂȘtes vers MongoDB en requĂȘtes SQL vers PostgreSQL, ce qui permet d'utiliser PostgreSQL comme vĂ©ritable stockage. Le code est Ă©crit en Go et est distribuĂ© sous la licence Apache 2.0.
Le besoin de migration peut surgir en raison du passage de MongoDB Ă la licence non libre SSPL, qui est basĂ©e sur la licence AGPLv3, mais n'est pas ouverte, car elle comprend une exigence discriminatoire de fourniture sous la licence SSPL non seulement du code de l'application elle-mĂȘme, mais aussi des codes sources de tous les composants impliquĂ©s dans la fourniture du service cloud.
La principale cible de FerretDB sont les utilisateurs qui n'utilisent pas les fonctionnalités avancées de MongoDB dans leurs applications, mais souhaitent utiliser une pile logicielle entiÚrement ouverte. à ce stade, FerretDB ne prend en charge qu'une partie des fonctionnalités de MongoDB, celles qui sont les plus fréquemment utilisées dans les applications courantes. à l'avenir, ils prévoient d'atteindre une compatibilité totale avec les pilotes pour MongoDB et de permettre d'utiliser FerretDB comme un remplacement transparent de MongoDB.
MongoDB occupe une niche entre les systĂšmes rapides et Ă©volutifs manipulant des donnĂ©es au format clĂ©/valeur, et les SGBD relationnels, fonctionnels et faciles Ă interroger. MongoDB prend en charge le stockage de documents au format similaire Ă JSON, dispose d'un langage suffisamment flexible pour Ă©laborer 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 base de donnĂ©es, peut travailler selon le paradigme Map/Reduce, et prend en charge la rĂ©plication et la construction de configurations tolĂ©rantes aux pannes.
Dans la version FerretDB 0.3, la commande findAndModify a Ă©tĂ© mise en Ćuvre pour modifier un document tout en renvoyant sa version originale. Les opĂ©rateurs pour la mise Ă jour des champs â $inc et $set â ont Ă©tĂ© rĂ©alisĂ©s. La prise en charge du tri des types de donnĂ©es scalaires a Ă©tĂ© ajoutĂ©e.
Source : opennet.ru
