MongoDB persistence strategy
MongoDB saves data in memory-mapped files so that data access is faster than direct disk I/O. When some document is saved, it is written quickly to the memory and persisted to the disk lazily, usually after every 60 seconds. This ensures that we have read-and-write access to databases that is almost as fast as memory.
Let's first study the format in which data is saved in MongoDB.
Binary JSON (BSON)
MongoDB uses the JSON format for storing information. As we have seen before, a typical MongoDB document has the following structure:
{ "_id" : ObjectId("5143678345db7ca255000001"), "address" : { "_id" : ObjectId("514367f445db7ca255000003"), "city" : "London", "country" : "UK", "street" : "Picadilly Circus", "zip" : 123, "zipcode" : "123" }, "language" : "Hindi", "last_name" : "Nutter", "name" : "Charles" }
However, that's not how it's stored on the disk. This is because it would be very inefficient to store information in the raw JSON...