IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

137PARTAGES

5  0 
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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de SQLpro
Rédacteur https://www.developpez.com
Le 03/11/2021 à 10:28
Code : Sélectionner tout
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.
Ce genre d'affirmation sans aucun benchmark ni aucune preuve n'est qu'une accroche marketing qui discrédite MongoDB... Dommage !
3  2 
Avatar de Exagone313
Membre du Club https://www.developpez.com
Le 02/11/2021 à 20:34
Le site du projet indique qu'il s'agit d'une "véritable alternative open source" :
A truly Open Source MongoDB alternative
Or, ils utilisent une CLA (Contribution Licensing Agreement), ce qui signifie que toute contribution leur appartient :
You hereby grant to the Company and to recipients of software distributed by the Company a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.
Il se trouve aussi que le nom était déjà utilisé pour un projet "meme" : https://github.com/MangoDB-io/MangoDB/issues/13

Vu l'état du projet (un POC), je pense qu'il vaut mieux le suivre de loin plutôt que d'en considérer une véritable solution.
0  0 
Avatar de dragonofmercy
Membre régulier https://www.developpez.com
Le 03/11/2021 à 7:44
Citation Envoyé par Exagone313 Voir le message

Or, ils utilisent une CLA (Contribution Licensing Agreement), ce qui signifie que toute contribution leur appartient
Tu as vu où cette information car sur le repo c'est bien une licence Apache 2.0 ?

https://github.com/MangoDB-io/MangoDB/blob/main/LICENSE
0  0 
Avatar de Aspartame
Membre confirmé https://www.developpez.com
Le 03/11/2021 à 16:33
Je lance un projet dès ce soir ...

ça va s'appeler mungodb , et ça s'appuiera sur des javaBeans

qui me suit ?
0  0 
Avatar de Exagone313
Membre du Club https://www.developpez.com
Le 03/11/2021 à 19:45
Citation Envoyé par dragonofmercy Voir le message
Tu as vu où cette information car sur le repo c'est bien une licence Apache 2.0 ?

https://github.com/MangoDB-io/MangoDB/blob/main/LICENSE
Il suffit de regarder les issues du projet et la première contribution au projet.

Ça ne change rien à la licence, quiconque peut faire un fork du projet, le renommer et le faire vivre sans la CLA.
0  0 
Avatar de esperanto
Membre émérite https://www.developpez.com
Le 03/11/2021 à 22:34
Citation Envoyé par Bruno Voir le message
un proxy open source, qui convertit les requêtes du protocole filaire de MongoDB en SQL
Protocole filaire, vraiment?

Citation Envoyé par Bruno Voir le message
En l'état actuel, êtes vous pour MongoDB, MySQL ou MangaDB ?
Bah c'est sûr en matière de BD j'aime bien les mangas aussi

Citation Envoyé par SQLpro Voir le message
Code : Sélectionner tout
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.
Ce genre d'affirmation sans aucun benchmark ni aucune preuve n'est qu'une accroche marketing qui discrédite MongoDB... Dommage !
ça prouve surtout que tu comprends ce qui t'arrange. Je n'ai encore jamais vu un benchmark pour mesurer la productivité des développeurs (et non les performances de l'outil utilisé)

Citation Envoyé par Exagone313 Voir le message
Il suffit de regarder les issues du projet et la première contribution au projet.

Ça ne change rien à la licence, quiconque peut faire un fork du projet, le renommer et le faire vivre sans la CLA.
Exact. Mais du coup, pourquoi n'a-t-on pas plutôt forké une ancienne version de MongoDB? Après tout, le choix d'une licence n'est pas rétroactif. Même s'il est dit ici que la nouvelle licence s'appliquera à tous les correctifs publiés par eux (même soumis par quelqu'un d'autre) elle ne s'appliquera pas à un fork basé sur une version antérieure, n'est-ce pas?
1  1