如何在MongoDB数据库中的数据存储在磁盘上?

我知道MongoDB接受和检索纪录作为JSON/BSON objects ,但它如何实际存储这些文件在磁盘上? 它们是以单个*.json文件的集合还是作为一个大文件存储的? 对于后者,我有一个预感,因为MongoDB文档声明它在ext4/xfs系统上效果最好,这在处理大文件方面更好。 谁能确认?

一个给定的mongo数据库被分解成磁盘上的一系列BSON文件,其大小增加到2GB。 BSON是专门为MongoDB构build的自己的格式。

这些幻灯片应该回答你所有的问题:

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

MongoDB将数据作为BSON存储在数据path目录(通常是/ data / db)中 。 每个集合应该有两个文件, collection.0 ,它存储数据(然后该数据按需增加), collection.ns存储集合的命名空间元数据。

BSON格式的详细文档可以在这里find: http : //bsonspec.org/

最多mongodb 3.0 http://blog.mongolab.com/2014/01/how-big-is-your-mongodb/如果你在MongoDB 3.0中启用wiredtiger存储引擎,它将使用wiredtiger存储模型http:// docs。 mongodb.org/v3.0/core/storage/#storage-wiredtiger