web-dev-qa-db-fra.com

Comment les données d'une base de données MongoDB sont-elles stockées sur le disque?

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?

61
Mark LeMoine

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

37
brianz

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.

13
Jamie Rumbelow

Une documentation détaillée du format BSON peut être trouvée ici: http://bsonspec.org/

3
MGriesbach

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

2
Vikas Jadhav