MongoDB est une technologie qui change la vie de nombreux développeurs, leur permettant de créer des applications plus rapidement qu'avec des bases de données relationnelles. Cependant, MongoDB a abandonné ses racines Open Source, en changeant la licence en SSPL, ce qui le rend inutilisable pour de nombreux projets Open Source et commerciaux. MangoDB va être une solution parfaite pour ceux qui recherchent une expérience de développement MongoDB disponible en tant que logiciel entièrement Open Source.
Notons que MongoDB est un système de gestion de base de données orienté documents, répartissable sur un nombre quelconque d'ordinateurs et ne nécessitant pas de schéma prédéfini des données. Il permet de manipuler des objets structurés au format BSON (JSON binaire), sans schéma prédéterminé. Il est écrit en C++. Le serveur et les outils sont distribués sous licence SSPL.
En d'autres termes, des clés peuvent être ajoutées à tout moment « à la volée », sans reconfiguration de la base. Les données prennent la forme de documents enregistrés eux-mêmes dans des collections, une collection contenant un nombre quelconque de documents. Les collections sont comparables aux tables, et les documents aux enregistrements des bases de données relationnelles.
La Server Side Public License (SSPL) est une licence logicielle propriétaire développée par MongoDB Inc. Selon MongoDB, la SSPL est basée sur la licence AGPL3, avec l'ajout d'une nouvelle section qui « énonce clairement et explicitement les conditions pour distribuer le programme sous licence en tant que service tiers », exigeant de rendre disponible l'intégralité du code source lorsque le logiciel est rendu accessible au public dans le cadre d'un service.
Selon MongoDB, la SSPL est basée sur la licence AGPL3, avec l'ajout d'une nouvelle section qui « énonce clairement et explicitement les conditions pour distribuer le programme sous licence en tant que service tiers », exigeant de rendre disponible l'intégralité du code source lorsque le logiciel est rendu accessible au public dans le cadre d'un service. Selon le journaliste Richard Gall, la nouvelle phrase la plus importante de la licence est la suivante : « Si vous distribuez une fonctionnalité du programme ou une version modifiée à la disposition de tiers en tant que service, vous devez rendre le code source du service accessible par téléchargement réseau à tous sans frais, selon les termes de cette licence. »
En octobre 2018, la base de données MongoDB est publiée sous SSPL. Les distributions Debian, Red Hat Enterprise Linux et Fedora Linux ont par la suite abandonné MongoDB, invoquant des inquiétudes concernant la SSPL. Amazon a publié un service compatible mais propriétaire nommé DocumentDB, et il est apparu que la SSPL n'a pas réussi à augmenter les revenus du cloud pour MongoDB. La plupart des utilisateurs de MongoDB n'ont pas besoin des nombreuses fonctionnalités avancées offertes par MongoDB, mais ils ont besoin d'une solution de base de données open source. Conscient de cela, MangoDB est là pour combler ce vide en offrant une alternative.
MongoDB, MySQL ou MangaDB
MongoDB
MongoDB est également gratuit et open source ; cependant, ses principes de conception diffèrent des systèmes relationnels traditionnels. Souvent qualifié de système non relationnel (ou NoSQL), MongoDB adopte une approche sensiblement différente du stockage des données, en représentant les informations sous la forme d'une série de documents de type JSON (en réalité stockés sous forme de JSON binaire, ou BSON), par opposition au format de table et de ligne des systèmes relationnels.
Les documents MongoDB sont constitués d'une série de paires clé/valeur de différents types, y compris des tableaux et des documents imbriqués ; toutefois, la principale différence réside dans le fait que la structure des paires clé/valeur dans une collection donnée peut varier d'un document à l'autre. Cette approche plus flexible est possible parce que les documents sont auto-décrits.
MySQL
MySQL est un système de gestion de base de données relationnelle (SGBDR) populaire, gratuit et open-source, développé par Oracle. Comme les autres systèmes relationnels, MySQL stocke les données à l'aide de tables et de lignes, applique l'intégrité référentielle et utilise le langage de requête structuré (SQL) pour l'accès aux données. Lorsque les utilisateurs ont besoin d'extraire des données d'une base de données MySQL, ils doivent construire une requête SQL qui joint plusieurs tables pour créer la vue sur les données dont ils ont besoin.
Les schémas de base de données et les modèles de données doivent être définis à l'avance, et les données doivent correspondre à ce schéma pour être stockées dans la base de données. Cette approche rigide du stockage des données offre un certain degré de sécurité, mais elle n'est pas synonyme de flexibilité. Si un nouveau type ou format de données doit être stocké dans la base de données, il faut procéder à une migration des schémas, ce qui peut devenir complexe et coûteux à mesure que la taille de la base de données augmente.
MangoDB
MangoDB a pour objectif de devenir l'alternative open source de facto à MongoDB. MangoDB est un proxy open source, qui convertit les requêtes du protocole filaire de MongoDB en SQL, et utilise PostgreSQL comme moteur de base de données. MangoDB sera compatible avec les pilotes MongoDB et fonctionnera comme un remplacement direct de MongoDB dans de nombreux cas.
Source : MangoDB
Et vous ?
Quel est votre avis sur MongoDB ? L'utilisez-vous ?
Pensez-vous que la plupart des utilisateurs de MongoDB n'ont pas besoin des nombreuses fonctionnalités avancées offertes par MongoDB ?
Selon vous, y a t'il la nécessite de migrer vers MangoDB ?
En l'état actuel, êtes vous pour MongoDB, MySQL ou MangaDB ?
Voir aussi :
MongoDB Inc. annonce un chiffre d'affaires de 99,4 millions USD au deuxième trimestre de son exercice fiscal 2020, une hausse de 67 % largement tirée par la part des abonnements en hausse de 71 %
MongoDB annonce l'abandon d'AGPL pour une nouvelle licence, autour de laquelle la désignation open source fait débat
Les revenus de MongoDB au 4T19 augmentent sur le cloud, MongoDB Atlas a dépassé le seuil annuel des 100 millions de dollars
MongoDB : 202 millions de CV privés exposés sur internet, à cause d'une base de données non protégée
MangoDB : une véritable alternative Open Source à MongoDB,
Un proxy open source, qui convertit les requêtes du protocole filaire de MongoDB en SQL
MangoDB : une véritable alternative Open Source à MongoDB,
Un proxy open source, qui convertit les requêtes du protocole filaire de MongoDB en SQL
Le , par Bruno
Une erreur dans cette actualité ? Signalez-nous-la !