Comment une base de données MongoDB peut mieux organiser vos données
Quiconque a déjà travaillé avec des bases de données organisant des données dans des tables, également appelées bases de données relationnelles, peut probablement parler longuement de ses failles. Même si un système de stockage de données est génial, il n’est pas sans problèmes et n’est pas conçu pour être interprété par des personnes, ce qui rend l’organisation complexe avec elle compliquée, redondante et avec une courbe d’apprentissage abrupte..
D'où le mouvement NoSQL. SQL signifie Structured Query Language et est utilisé pour communiquer avec des bases de données. Mais ce n'est pas si génial à plus grande échelle. Lorsque, par exemple, les applications deviennent virales, un support est nécessaire pour que les utilisateurs puissent l’utiliser sans rencontrer de problème. Mais SQL se complique à cette échelle, plus que beaucoup de développeurs ne peuvent gérer.
NoSQL facilite le stockage et l’organisation des données, car les partisans de l’école de pensée NoSQL s’efforçaient de créer une base de données capable de traiter des ensembles de données volumineux, de la mettre à l’échelle et de la classer comme les gens le pensaient, et pouvant être facilement lue par les humains. MongoDB est une de ces bases de données, et cela change la façon dont les développeurs créent des sites Web..
Qu'est-ce que MongoDB??
MongoDB (à partir de “énorme”) est une base de données multi-plateformes orientée document utilisée comme alternative à MySQL. Mais qu'est ce que ça veut dire? Une base de données est un ensemble structuré de données. Qu'est-ce qu'une base de données? [MakeUseOf explique] Alors, quelle est une base de données, de toute façon? [MakeUseOf explique] Pour un programmeur ou un passionné de technologie, le concept de base de données est quelque chose qui peut vraiment être pris pour acquis. Cependant, pour beaucoup de gens, le concept de base de données est un peu étranger… Lire la suite, mais MongoDB diffère par le fait qu'il tend à être moins strict sur la façon dont ces données sont structurées. Les informations sont regroupées plutôt que divisées en documents et tables connexes, comme MySQL, un SGBDR ou un système de gestion de base de données relationnelle populaire, qui utilise SQL..
De nombreuses bases de données qui utilisent SQL stockent des données dans des tables sur des pages. Pensez à quelque chose comme une feuille de calcul Excel avec des bouts de code. Ces pages sont les plus petites données sur un serveur et chaque page est consacrée à une table. Ceci est compliqué à grande échelle, alors qu'avec MongoDB, le développeur peut décider comment structurer les informations en fonction de ses besoins..
MongoDB utilise BSON pour stocker des informations. BSON (une combinaison de “binaire” et “JSON”, ou JavaScript Object Notation) peut être considéré comme une représentation binaire ou numérique des documents JSON. JSON Qu'est-ce que JSON? Présentation d'un profane Qu'est-ce que JSON? Présentation d'un profane Que vous envisagiez de devenir un développeur Web ou non, il est judicieux de savoir au moins ce qu'est le JSON, pourquoi c'est important et pourquoi il est utilisé partout sur le Web. Read More est un format standard ouvert (comme open-source) pour organiser les données..
Il ajoute également la prise en charge de certains types de données non pris en charge dans JSON, comme le type de données "date", qui ne serait normalement pas pris en charge et ne pouvait donc pas être utilisé par le développeur. Le développeur, dans ce cas, ne pourrait inclure aucune date comme donnée..
Généralement, ces données sont organisées en documents. JSON transmet des données à l'aide de documents facilement lisibles par l'homme, mais ce n'est pas le cas avec BSON. JSON est également couramment utilisé pour transmettre des données entre un serveur et une application, ainsi que sur un support de stockage de données général.
Les documents n'ont pas besoin d'être structurés de manière spécifique en fonction de la collection ou d'un groupe d'objets liés dans lesquels ils sont organisés, ce qui permet aux développeurs de se familiariser facilement avec MongoDB. Cela a conduit à être l'une des bases de données NoSQL les plus populaires sur le marché.
Ce qui le rend différent de MySQL?
Étant donné que MySQL est peut-être le SGBDR le plus utilisé, même s'il est aussi défectueux qu'il soit, il est tout à fait naturel que des alternatives apparaissent. Avec NoSQL étant une alternative à SQL, MongoDB est considéré comme une alternative à MySQL. MySQL utilise des tableaux pour organiser ses données et est basé sur le modèle de données relationnel classique du XXe siècle, bien que, comme MongoDB, il puisse être modifié pour améliorer les fonctionnalités..
Cependant, les deux diffèrent grandement. Ils sont destinés à des fins différentes, pour un. MongoDB est davantage destiné à l’échelle plus grande (très grande), alors que MySQL ne peut en gérer que beaucoup. Comme il a été mentionné précédemment, MySQL utilise des tables pour organiser des données qui peuvent être très compliquées. Cependant, ce sont tous deux de très bons systèmes et, en fait, des hybrides sont mis en œuvre sur certains sites du Web. Craigslist est connu pour être l’un des sites Web les plus populaires mettant en œuvre un hybride MongoDB / MySQL..
Comment ça marche?
MongoDB fonctionne en stockant des données dans des documents similaires à JSON. Ces documents ont un ou plusieurs champs (objets ou valeurs contenus dans une classe ou une structure) qui incluent des tableaux (une série d'objets de même taille et de même type) et des sous-documents (un document qui fait partie d'un document plus volumineux). Ces champs peuvent être définis comme le développeur le souhaite, en fonction de ses besoins.
Bien que l’organisation de cette opération soit normalement compliquée, BSON facilite la tâche en regroupant simplement les documents en fonction de leur type et de leur taille plutôt qu’en les décomposant en très petits éléments de données comme le fait SQL et en organisant les données en fonction d’autres informations. Grâce à cette flexibilité, les développeurs peuvent faire évoluer la collection de données, également appelée modèle de données, en fonction de leurs besoins..
Les développeurs peuvent accéder aux documents via des pilotes qu'ils sont capables de lire et de comprendre, et les documents sont disponibles dans les langages de programmation les plus répandus et modernes. Avec MongoDB, les documents sont mappés naturellement aux objets, il n'est donc pas nécessaire de disposer d'une couche ORM (mappage relationnel-objet) qui mappe manuellement les documents sur leurs objets respectifs. Autrement dit, les documents sont naturellement liés aux objets, vous n'avez donc pas besoin d'une commande ou d'un programme distinct pour les connecter..
MongoDB utilise un shell basé sur JavaScript, et prend en charge les développeurs écrivant du code personnalisé à l'aide de fonctions JavaScript. Il sera probablement plus répandu à mesure que JavaScript continue de prospérer. Qu'est-ce que JavaScript et Internet peuvent-ils exister sans elle? Qu'est-ce que JavaScript et Internet peut-il exister sans cela? JavaScript est l'une de ces choses que beaucoup prennent pour acquis. Tout le monde l'utilise. Lire la suite en popularité.
Qui l'utilise?
Bien que relativement jeune, MongoDB est utilisé dans de nombreux sites Web populaires. Celles-ci incluent le journal d’affaires Forbes, ainsi que Buzzfeed.
Forbes a profité de MongoDB pour développer rapidement un nouveau portefeuille Web et mobile. La vitesse et la puissance de MongoDB leur ont permis de créer un site Web en deux mois et une application mobile en un mois. Cela a eu un effet drastique sur leur engagement de lecteur et le trafic. Selon les développeurs de MongoDB:
En une nuit, le trafic mobile a bondi de 5% à 15% du trafic total de Forbes.com et est rapidement passé à 50%.
Buzzfeed souffre des défis auxquels toute grande entreprise de médias est confrontée. Leur équipe de rédaction distribuée publie une quantité de contenu aussi prodigieuse. 5 sites Web à consulter, dernières vidéos Buzz et Viral 5 sites Web à consulter, dernières vidéos Buzz et Viral Lire la suite, à un vaste public. MongoDB permet à Buzzfeed de s’adapter rapidement au trafic reçu, ainsi que de déterminer les types de contenu qui résonnent chez ses lecteurs..
Comment l'utilisez-vous?
MongoDB est un excellent outil pour les développeurs Web, de jeux et de logiciels. Nous savons que c'est rapide et évolutif. Et nous savons que c'est facile à lire et à apprendre. Mais comment l'utilisez-vous réellement?
Le site Web officiel de MongoDB offre aux utilisateurs la possibilité d’essayer un shell MongoDB dans leur navigateur. TutorialsPoint propose plusieurs tutoriels très détaillés sur l’utilisation de MongoDB, allant de débutant à avancé. Il y a aussi des projets sur GitHub pas seulement pour les programmeurs: 9 façons d'utiliser GitHub pour le travail créatif pas seulement pour les codeurs: 9 façons d'utiliser GitHub pour le travail créatif . Il y a beaucoup d'autres utilisations créatives pour GitHub. Voici neuf, vous pouvez explorer. En savoir plus sur MongoDB, y compris Le petit livre MongoDB de Karl Seguin, pour à peu près tout ce que vous devez savoir sur MongoDB.
Si vous voulez juste apprendre à installer MongoDB, assurez-vous de consulter ce tutoriel sur le site Web officiel de MongoDB..
Si vous l'utilisez?
Cela dépend de votre situation individuelle.
Même si MongoDB est génial, ce n’est pas sans défauts. Ce n'est pas compatible ACID. ACID, pour Atomicity, Consistency, Isolation, and Durability, est un ensemble de propriétés qui garantit que les transactions de base de données, ou le travail effectué dans une base de données, est traité et complété correctement. Les bases de données NoSQL ne sont parfois pas compatibles ACID, ce qui limite leur productivité et leur fiabilité..
MongoDB utilise également toute la mémoire disponible en tant que cache système. Il en résulte des problèmes de performances sur les ordinateurs fonctionnant sur des systèmes 32 bits, qui ne peuvent gérer qu’un maximum de 4 Go de mémoire. Pour en savoir plus sur l'utilisation de la RAM sur votre ordinateur, ne manquez pas cet article de Brad Jones. Combien de RAM avez-vous vraiment besoin? De combien de RAM avez-vous vraiment besoin? La RAM est comme la mémoire à court terme. Plus vous effectuez plusieurs tâches à la fois, plus vous en avez besoin. Découvrez combien votre ordinateur a, comment en tirer le meilleur parti ou comment en tirer davantage. Lire la suite .
Étant donné que les bases de données de cette base de données sont inutiles, les développeurs risquent fort de rester paresseux et d'écrire du code bâclé. Toutefois, ce risque s'applique à presque tout. Vous vous retrouvez avec des données en double, car il n'y a aucune possibilité de jointures dans le système.
Néanmoins, MongoDB est un système extrêmement rapide et efficace qui peut absolument aider à augmenter la productivité des développeurs.
MongoDB est également convivial en ce sens qu’il n’exige pas de structure de données unifiée pour tous les objets, bien qu’il soit recommandé de le configurer pour en faciliter l’utilisation. La structure des données ne doit pas nécessairement être la même dans tout le système. Une voix unique n'est donc pas absolument nécessaire..
Enfin, selon l’écrivain de MakeUseOf, Matthew Hughes, votre start-up devrait avoir un blog. Voici pourquoi votre start-up devrait avoir un blog. Voici pourquoi Voici quelques raisons plus convaincantes pour lesquelles votre startup ne peut pas vivre sans blog. En savoir plus, l'équipe MongoDB gère un excellent blog, présentant un contenu technique de haute qualité et bien écrit destiné à un public technique..
Conclusion
Si vous ne disposez pas d'un système doté d'une bonne quantité de RAM qui ne peut pas prendre en charge une base de données volumineuse, ou si vous ne cherchez pas vraiment à disposer d'une base de données volumineuse, MongoDB n'est pas pour vous. Il a tendance à se vendre uniquement à grande échelle. Pour les projets plus petits, l’utilisation du SGBDR est probablement plus facile. Si, toutefois, vous avez besoin de rapidité et de facilité et que vous pouvez prendre en charge le système, cela vaut peut-être la peine.
Avez-vous une expérience avec MongoDB? Curieux d'essayer? Laissez un commentaire ci-dessous et nous parlerons!
Crédits image: “Connexion au shell MongoDB” par Ularugeanina via Wikimedia Commons, “Mysql-capture d'écran” par Stephantom via Wikimedia Commons
En savoir plus sur: Programmation.