Mark LeMoine
Mark LeMoine

Reputation: 4628

How is the data in a MongoDB database stored on disk?

I know that MongoDB accepts and retrieves records as JSON/BSON objects, but how does it actually store these files on disk? Are they stored as a collection of individual *.json files or as one large file? I have a hunch as to the latter, since the MongoDB docs state that it works best on systems with ext4/xfs, which are better at handling large files. Can anyone confirm?

Upvotes: 77

Views: 94691

Answers (4)

Vikas Jadhav
Vikas Jadhav

Reputation: 41

Up to mongodb 3.0 http://blog.mongolab.com/2014/01/how-big-is-your-mongodb/ If you turn on wiredtiger storage engine in MongoDB 3.0 it will use wiredtiger storage model http://docs.mongodb.org/v3.0/core/storage/#storage-wiredtiger

Upvotes: 3

MGriesbach
MGriesbach

Reputation: 354

Detailed documentation of the BSON format can be found here: http://bsonspec.org/

Upvotes: 5

brianz
brianz

Reputation: 7448

A given mongo database is broken up into a series of BSON files on disk, with increasing size up to 2GB. BSON is its own format, built specifically for MongoDB.

These slides should answer all of your questions:

http://www.slideshare.net/mdirolf/inside-mongodb-the-internals-of-an-opensource-database

Upvotes: 44

Jamie Rumbelow
Jamie Rumbelow

Reputation: 5095

MongoDB stores the data on the disk as BSON in your data path directory, which is usually /data/db. There should be two files per collection there, collection.0, which stores the data (and that integer is then incremented as needs be) and collection.ns which stores the namespacing metadata for the collection.

Upvotes: 27

Related Questions