Je sais que MongoDB
accepte et récupère les enregistrements sous forme d'objets JSON/BSON, mais comment stocke-t-il réellement ces fichiers sur le disque ? Sont-ils stockés sous la forme d'une collection de fichiers individuels *.json
ou en un seul gros fichier ? J'ai l'intuition que c'est la dernière solution, puisque le MongoDB
La documentation indique qu'il fonctionne mieux sur les systèmes avec ext4/xfs
qui sont plus à même de traiter les gros fichiers. Quelqu'un peut-il confirmer ?
Réponses
Trop de publicités?Une base de données mongo donnée est décomposée en une série de fichiers BSON sur le disque, dont la taille augmente jusqu'à 2 Go. BSON est un format propre, construit spécifiquement pour MongoDB.
Ces diapositives devraient répondre à toutes vos questions :
http://www.slideshare.net/mdirolf/inside-mongodb-the-internals-of-an-opensource-database
MongoDB stocke les données sur le disque sous forme de BSON dans le répertoire de votre chemin de données, qui est en général /données/db . Il devrait y avoir deux fichiers par collection, collection.0 qui stocke les données (et cet entier est ensuite incrémenté en fonction des besoins) et collection.ns qui stocke les métadonnées d'espacement des noms pour la collection.
Une documentation détaillée du format BSON est disponible ici : http://bsonspec.org/
Jusqu'à mongodb 3.0 http://blog.mongolab.com/2014/01/how-big-is-your-mongodb/ Si vous activez le moteur de stockage wiredtiger dans MongoDB 3.0, il utilisera le modèle de stockage wiredtiger. http://docs.mongodb.org/v3.0/core/storage/#storage-wiredtiger