MongoDB

MongoDB est une base de données qui garde chaque enregistrement comme son propre document souple, de sorte que deux produits peuvent porter des détails totalement différents.

Également appelé base de données NoSQL base documentaire Mongo

Définition

MongoDB est un endroit où garder vos données, et ce qui le distingue est la forme. La plupart des bases fonctionnent comme un tableur, où chaque ligne a les mêmes colonnes et doit toutes les remplir. MongoDB garde plutôt chaque enregistrement à part, dans un petit bloc appelé document qui ne porte que les champs nécessaires.

Un catalogue de produits montre pourquoi cela compte, car une chaussure a une pointure et une couleur tandis qu'un ordinateur portable a un processeur et une taille d'écran. Un paquet de café ne partage ni l'un ni l'autre, puisqu'il lui faut une date de torréfaction. Poussez les trois dans une seule table et vous obtenez des dizaines de colonnes vides pour presque tous les produits, ce que MongoDB évite. Là, la chaussure range des choses de chaussure et l'ordinateur des choses d'ordinateur.

Cette liberté a un prix, et c'est la partie dont personne ne vous parle. Rien n'empêche deux enregistrements de se contredire, donc un produit peut enregistrer son prix comme le nombre 100 quand le suivant l'enregistre comme le texte "100". Les deux passent sans un mot. Puis quelqu'un trie le catalogue par prix et la liste sort à l'envers, parce qu'un texte se compare lettre par lettre et que "100" arrive avant "9". Les règles n'ont pas disparu. Elles ont seulement déménagé dans le logiciel que votre équipe écrit, ce qui fait plus de travail et non moins. C'est pourquoi Linkysoft fixe ces règles dès le premier jour d'un projet d'application web, car corriger un million d'anciens enregistrements plus tard est une mauvaise semaine.

MongoDB convient donc quand les enregistrements sont vraiment différents, comme les catalogues, les réponses de formulaires, les journaux d'activité et tout ce dont la forme bouge avec l'activité. Il convient mal là où les données sont bien rangées et où les comptes doivent être exacts, et une base en tables classiques est plus sûre pour les factures et les paiements. Beaucoup de systèmes font donc tourner les deux. Un système de boutique comme Storek porte le catalogue qui change de forme à côté de l'argent qui ne doit jamais être arrondi de travers.

Posez une question à tout fournisseur avant de signer, à savoir ce qui se passe quand un champ change de sens l'an prochain. Si la réponse est qu'ils écriront simplement un nouveau champ, demandez qui corrigera les anciens enregistrements. Reposez ensuite la question pour le téléphone, car une application mobile qui travaille hors connexion garde des documents sur l'appareil des jours durant. Certains appareils tournent encore avec la version de l'an dernier, et c'est pour cela que Linkysoft en fait une question de conception et non de base de données. La réponse fait souvent la différence entre une deuxième année calme et une deuxième année pénible.

Questions sur MongoDB

MongoDB est-il meilleur que MySQL ?
Aucun des deux n'est meilleur. Ils gardent des formes différentes. MySQL est plus fort quand tous les enregistrements se ressemblent et que les totaux doivent être justes. MongoDB est plus fort quand ils diffèrent vraiment.
MongoDB est-il gratuit ?
Il existe une version gratuite que vous installez sur votre propre serveur. Il existe aussi un service payant où l'éditeur l'héberge et facture à l'usage. La plupart des projets commencent par la version gratuite.
Puis-je récupérer mes données de MongoDB plus tard ?
Oui. Il exporte vers des fichiers texte ordinaires que tout autre système sait lire. Le difficile n'est pas l'export : le sens de chaque champ vit dans votre logiciel et doit donc partir avec les données.
MongoDB a-t-il quand même besoin de sauvegardes ?
Oui, tous les jours, et une copie doit se trouver ailleurs. Une base souple n'est pas plus protégée qu'une autre contre un enregistrement effacé ou une mauvaise mise à jour.
MongoDB convient-il à une petite entreprise ?
Ce n'est pas la taille qui décide, c'est la forme des données. Une boutique avec cinq cents produits très différents peut lui convenir, une clinique aux dossiers bien rangés non.

Vous ne voyez toujours pas comment cela s'applique à votre projet ?

Dites-nous ce que vous construisez et nous vous répondrons simplement.