Présentation de MongoDB

Déployez vos applications populaires sur nos serveurs cloud haute performance en un seul clic.

MongoDB est un SGBD orienté documents. Les données y sont stockées dans des documents, eux-mêmes regroupés en collections. Chaque document est une structure de type JSON. Par analogie avec les SGBD relationnels, on peut dire que les collections correspondent aux tables et les documents aux lignes de ces tables. La taille maximale d'un document dans MongoDB 2.x est de 16 Mo (dans les versions antérieures, elle n'était que de 4 Mo).

file

Contrairement aux SGBDR, MongoDB ne requiert aucune description du schéma de base de données — celui-ci peut évoluer progressivement au fil du développement de l'application, ce qui s'avère très pratique.

Les index sont pris en charge, y compris sur les tableaux et les documents imbriqués, ainsi que les index géospatiaux. Les index uniques et composites sont également supportés.

MongoDB propose aussi des opérations atomiques, le compare-and-swap, des curseurs, l'écriture sans confirmation et même MapReduce.

La taille d'une collection dans MongoDB peut être limitée par le nombre de documents ou en mégaoctets. Si une collection devient trop volumineuse, les anciens documents sont automatiquement supprimés. Cette fonctionnalité peut s'avérer utile si vous souhaitez stocker des données temporaires dans MongoDB.

L'interface de MongoDB ressemble beaucoup à DBIx::Class — on obtient un ORM « clé en main ». Des fonctions JavaScript peuvent être utilisées dans les requêtes.

MongoDB prend en charge le journaling ainsi que la réplication asynchrone sous deux formes : la réplication maître-esclave et les replica sets. Les développeurs de MongoDB recommandent d'utiliser ces derniers. Un replica set fonctionne comme un maître-esclave, mais en cas de défaillance du maître, un nouveau maître est automatiquement élu parmi les réplicas. Après sa remise en service, l'ancien maître devient un réplica.

La fonctionnalité la plus notable de MongoDB est sans doute la possibilité de segmenter automatiquement les documents sur plusieurs replica sets. La segmentation s'effectue par plage ; une clé de segmentation (shard key) est utilisée pour affecter un document à une plage spécifique. Les données sont réparties entre les replica sets de façon que chaque set contienne approximativement le même volume de données. Si le cluster est surchargé, il suffit d'y ajouter un nouveau replica set — la redistribution des données s'effectue automatiquement.

Il est possible de stocker des données binaires dans les documents MongoDB — images, fichiers MP3, etc. Cependant, pour des données de plus de 1 Mo, il est recommandé d'utiliser GridFS. GridFS est une convention de stockage de fichiers de taille arbitraire dans MongoDB, prise en charge par tous les pilotes officiels.

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter