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

我知道 MongoDB以 JSON/BSON 对象的形式接受和检索记录,但它实际上如何将这些文件存储在磁盘上呢?它们是作为单个 *.json文件的集合存储,还是作为一个大文件存储?对于后者,我有一种预感,因为 MongoDB文档说它在使用 ext4/xfs的系统上工作得最好,而 ext4/xfs更善于处理大文件。有人能证明吗?

87894 次浏览

MongoDB 将数据作为 BSON 存储在磁盘上的数据路径目录中,通常是 /数据/分贝。每个集合应该有两个文件,收集。0集合,前者存储数据(然后根据需要增加整数) ,后者存储集合的名称空间元数据。

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

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

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

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

升级到蒙戈德布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