Présentation de MongoDB
MongoBD est une base de données open source NoSQL orientée document. Elle stocke des données au format JSON (en fait BSON, qui est une version binaire de JSON).
Le serveur MongoDB est organisé en plusieurs databases :
Chaque database contient des collections.
Chaque collection contient des documents.
Chaque document est au format JSON et contient donc des propriétés.
SQL | MongoDB |
---|---|
base de données et/ou schéma | base de données |
table | collection |
enregistrement | document |
attribut (atomique) | propriété (chaîne, entier, tableau, structure) |
Schema-less
C'est une base schema-less, aussi une collection peut contenir des documents de structures différentes et il n'est pas possible de définir la structure a priori d'une collection. La structure d'une collection n'est donc définie que par les document qui la compose, et elle peut évoluer dynamiquement au fur et à mesure des insertions et suppressions.
Identification clé / valeur
Chaque document est identifié par un identifiant nommé _id unique pour une collection, fonctionnant comme une clé primaire artificielle.
Architecture
MongoDB fonctionne a minima sous la forme d'un serveur auquel il est possible de se connecter avec un client textuel (mongo shell).
MongoDb peut être distribuée sur plusieurs serveurs (partitionnement horizontal ou sharding) et accédée à travers de multiples couches applicatives (langages, API...)