Sortie de FerretDB 0.3, une implémentation de MongoDB basée sur le SGBD PostgreSQL

La version du projet FerretDB 0.3 a été publiée, ce qui permet de remplacer le SGBD orienté document MongoDB par PostgreSQL sans apporter de modifications au code de l'application. FerretDB est implémenté en tant que serveur proxy qui traduit les appels à MongoDB en requêtes SQL vers PostgreSQL, ce qui vous permet d'utiliser PostgreSQL comme stockage réel. Le code est écrit en Go et distribué sous la licence Apache 2.0.

Le besoin de migration peut survenir dans le cadre de la transition de MongoDB vers la licence propriétaire SSPL, qui est basée sur la licence AGPLv3, mais n'est pas ouverte, car elle contient une exigence discriminatoire de fournir sous la licence SSPL non seulement le code d'application lui-même. , mais aussi les codes sources de tous les composants impliqués dans la fourniture du service cloud.

Le public cible principal de FerretDB est constitué d'utilisateurs qui n'utilisent pas les capacités avancées de MongoDB dans leurs applications, mais souhaitent utiliser une pile logicielle complètement ouverte. Au stade actuel de développement, FerretDB ne prend encore en charge qu'une partie des fonctionnalités de MongoDB les plus souvent utilisées dans les applications typiques. À l'avenir, ils prévoient d'atteindre une compatibilité totale avec les pilotes pour MongoDB et d'offrir la possibilité d'utiliser FerretDB comme remplacement transparent de MongoDB.

MongoDB occupe une niche entre les systèmes rapides et évolutifs qui fonctionnent sur des données au format clé/valeur, et les SGBD relationnels fonctionnels et faciles à formuler des requêtes. MongoDB prend en charge le stockage de documents dans un format de type JSON, dispose d'un langage assez flexible pour générer des requêtes, peut créer des index pour divers attributs stockés, fournit efficacement le stockage d'objets binaires volumineux, prend en charge la journalisation des opérations de modification et d'ajout de données à la base de données, peut fonctionne conformément au paradigme Map/Reduce, prend en charge la réplication et la construction de configurations tolérantes aux pannes.

La version FerretDB 0.3 a introduit la commande findAndModify, qui modifie un document mais le renvoie à sa version d'origine. Les opérateurs de mise à jour de champ $inc et $set ont été implémentés. Ajout de la prise en charge du tri des types de données scalaires.

Source: opennet.ru

Ajouter un commentaire