MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

À propos de MongoDB

MongoDB est un système de gestion de base de données open source (SGBD) qui utilise un modèle de données orienté document. Elle est considérée comme une base de données NoSQL, car elle n'utilise pas le modèle relationnel et n'utilise donc pas SQL comme langage de requête.

Le modèle orienté document permet à MongoDB de stocker des données semi-structurées qui ne nécessitent pas de schéma fixe. Il peut y parvenir grâce à l'utilisation de documents JSON.

MongoDB est utilisé par certaines des plus grandes entreprises au monde, notamment Facebook, Google, Nokia, MTV Networks, Cisco, Forbes et bien d'autres.

MongoDB est également un SGBD multiplateforme, prenant actuellement en charge Windows, Mac, Solaris et diverses distributions Linux au moment de la rédaction.

Une base de données MongoDB est différente d'une base de données relationnelle en ce sens que MongoDB utilise un modèle orienté document pour stocker les données. Dans le modèle orienté document, les données sont stockées dans les documents d'une collection. Dans le modèle relationnel, les données sont stockées dans les lignes d'une table.

Les Collections

Dans MongoDB, une collection est un groupe de documents. Une collection contient généralement des documents qui ont un sujet similaire (comme des utilisateurs, des produits, des publications, etc.).

Les collections sont donc, à bien des égards, similaires aux tables du modèle relationnel.

Les Documents

Dans MongoDB, les documents sont stockés au format JSON documents. JSON (JavaScript Object Notation) est un standard qui facilite l'échange de données. Les documents JSON sont similaires aux documents XML dans la mesure où les données peuvent être présentées de manière hiérarchique et peuvent être lues aussi bien par des humains que par des ordinateurs.

Voici un exemple de document JSON. Voici à quoi ressemblent les documents d'une base de données MongoDB.

{ nom de l'artiste :"Deep Purple", albums :[ { album :"Machine Head", année :1972, Genre :"Rock" }, { album :"Stormbringer", année :1974, Genre :"Rock" } ] } 

Le _id champ est l'identifiant unique d'un document. MongoDB permet à chaque document d'être récupéré/référencé à l'aide de ce champ. Vous pouvez le fournir ou laisser MongoDB le générer.

En utilisant JSON, les résultats des requêtes peuvent être facilement analysés, avec peu ou pas de transformation, directement par JavaScript et les langages de programmation les plus populaires. En effet, les documents JSON utilisent les conventions de nom/paire et de tableau qui sont familières aux langages de programmation les plus courants tels que C, C++, C#, Java, JavaScript, Perl, Python et bien d'autres. Cela réduit la quantité de logique métier qui doit être intégrée dans les applications qui utilisent MongoDB.

Dans les coulisses, MongoDB stocke en fait les documents JSON dans un format encodé binaire appelé BSON. BSON étend JSON en prenant en charge des types de données supplémentaires et pour être efficace pour l'encodage et le décodage dans différentes langues.

Sans schéma

Chaque document JSON d'une collection peut contenir sa propre structure. Par conséquent, aucun schéma fixe ne limite le type de données pouvant être saisies dans une base de données MongoDB.

Cela contraste avec une base de données relationnelle où vous devez d'abord créer le schéma (c'est-à-dire définir les tables, les colonnes, les types de données, etc.), avant d'entrer des données. Si les données n'adhèrent pas au schéma, elles ne vont pas dans la base de données.

Dans une base de données MongoDB, il n'y a pas de règle pour dire quels champs, ou combien de champs, chaque document doit avoir. Par exemple, un document d'une collection peut contenir le nom, l'adresse et le numéro de téléphone, tandis qu'un autre document peut contenir le nom et l'adresse e-mail.