Première version stable de FerretDB, l'implémentation de MongoDB basée sur la base de données PostgreSQL.

La version 1.0 du projet FerretDB 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 proxy qui traduit les demandes adressées à MongoDB en requêtes SQL pour PostgreSQL, permettant ainsi d'utiliser PostgreSQL comme véritable stockage. La version 1.0 est marquée comme le premier lancement stable, prêt à être utilisé partout. Le code est écrit en Go et est distribué sous la licence Apache 2.0.

Le principal public cible de FerretDB est constitué d'utilisateurs qui n'exploitent pas les fonctionnalités avancées de MongoDB dans leurs applications, mais souhaitent utiliser une pile logicielle entièrement open source. À ce stade de développement, FerretDB prend en charge un sous-ensemble des fonctionnalités de MongoDB, les plus couramment utilisées dans les applications typiques. La nécessité d'adopter FerretDB peut surgir en raison du passage de MongoDB à une licence propriétaire SSPL, qui est basée sur la licence AGPLv3, mais qui n'est pas ouverte car elle contient une exigence discriminatoire de livraison 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.

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.

Parmi les changements dans FerretDB 1.0 :

  • Les commandes createIndexes et dropIndexes ont été implémentées pour créer et supprimer un ou plusieurs index d'une collection.
  • La commande getMore a été implémentée pour afficher un nouveau lot de résultats obtenu lors de l'exécution de commandes renvoyant un curseur, telles que find et aggregate.
  • Le support de l'opérateur d'agrégation $sum a été ajouté pour calculer la somme des valeurs d'un groupe.
  • Le support des opérateurs $limit et $skip a été ajouté pour limiter le nombre de documents et en ignorer lors de l'agrégation.
  • Le support de l'opérateur $count a été ajouté pour le décompte des documents lors de l'agrégation.
  • Le support de l'opérateur $unwind a été ajouté pour exploser les champs de tableau dans les documents entrants et créer une liste avec un document séparé pour chaque élément du tableau.
  • Un support partiel des commandes collStats, dbStats et dataSize a été ajouté pour obtenir des statistiques sur les collections et la base de données, ainsi que sur la taille des données.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster