Je sais que MongoDB
accepte et récupère les enregistrements en tant que JSON/BSON objects
, mais comment stocke-t-il réellement ces fichiers sur le disque? Sont-ils stockés sous la forme d'une collection d'individus *.json
fichiers ou comme un seul gros fichier? J'ai une idée de ce dernier, car les documents MongoDB
déclarent que cela fonctionne mieux sur les systèmes avec ext4/xfs
, qui sont mieux adaptés à la gestion de fichiers volumineux. Quelqu'un peut-il confirmer?
Une base de données mongo donnée est divisée en une série de fichiers BSON sur le disque, avec une taille croissante jusqu'à 2 Go. BSON est son propre format, spécialement conçu 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 en tant que BSON dans votre répertoire de chemin de données, qui est généralement / data/db. Il devrait y avoir deux fichiers par collection, collection., qui stocke les données (et cet entier est ensuite incrémenté selon les besoins) et collection.ns qui stocke l'espace de noms métadonnées pour la collection.
Une documentation détaillée du format BSON peut être trouvée 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 stockage wiredtiger modèle http://docs.mongodb.org/v3.0/core/storage/#storage-wiredtiger