阅读量:1
MongoDB在Linux上的存储结构可从逻辑和物理层面来看,具体如下:
-
逻辑存储结构
采用**数据库(Database)→集合(Collection)→文档(Document)**的层次结构。- 数据库:可包含多个集合,类似关系型数据库的库概念。
- 集合:存储文档的容器,类似表结构,无固定列定义,支持嵌套文档和数组。
- 文档:由BSON(二进制JSON)格式的键值对组成,是数据存储的基本单元,包含唯一
_id字段。
-
物理存储结构
- 数据文件:
- 由配置文件中的
dbpath指定存储路径(默认/data/db或/var/lib/mongodb)。 - 以**数据文件(.0、.1等)和命名空间文件(.ns)**组成,早期版本(如MMAPv1引擎)可见,WiredTiger引擎下不可直接查看。
- 数据文件按**Extent(区)**划分,每个Extent包含多个页(默认1MB),文档存储在页中。
- 由配置文件中的
- 日志文件:
- 存储数据变更操作,用于故障恢复,通常位于
/var/lib/mongodb/logs/目录。
- 存储数据变更操作,用于故障恢复,通常位于
- 索引文件:
- 基于B树结构存储,加速查询,与数据文件分离存储。
- 数据文件:
-
特殊存储场景(如GridFS)
用于存储大文件(超过16MB),通过fs.files(元数据)和fs.chunks(分块数据)两个集合管理。
目录结构示例(Ubuntu):
/var/lib/mongodb/ # 数据存储根目录
├── data/ # 数据文件目录
│ ├── db/ # 默认数据库文件
│ └── admin/ # 系统数据库
├── logs/ # 日志文件(mongod.log)
└── config/ # 配置文件(mongod.conf)
以上信息综合自。
以上就是关于“MongoDB在Linux上的存储结构是怎样的”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm