我知道MongoDB
接受并检索记录为JSON/BSON objects
,但它如何将这些文件实际存储在磁盘上?它们是作为单个*.json
文件的集合存储还是作为一个大文件存储?我对后者有一种预感,因为MongoDB
文档声明它在具有ext4/xfs
的系统上效果最好,它们在处理大文件时更好。任何人都可以确认吗?
答案 0 :(得分:35)
给定的mongo数据库被分解为磁盘上的一系列BSON文件,大小增加到2GB。 BSON是它自己的格式,专门为MongoDB构建。
这些幻灯片应该回答您的所有问题:
http://www.slideshare.net/mdirolf/inside-mongodb-the-internals-of-an-opensource-database
答案 1 :(得分:13)
MongoDB将数据作为BSON存储在数据路径目录中,通常是 / data / db 。每个集合应该有两个文件, collection.0 ,它存储数据(然后根据需要增加该整数)和 collection.ns 存储命名空间该集合的元数据。
答案 2 :(得分:3)
可在此处找到BSON格式的详细文档:http://bsonspec.org/
答案 3 :(得分:2)
最多mongodb 3.0 http://blog.mongolab.com/2014/01/how-big-is-your-mongodb/ 如果在MongoDB 3.0中打开有线存储引擎,它将使用有线存储模型 http://docs.mongodb.org/v3.0/core/storage/#storage-wiredtiger