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.

Comparaison SQL / MongoDB

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...)