|
数据逻辑结构
MongoDB 的逻辑结构是一种层次结构。主要由:文档(document)、集合(collection)、数据库(database)这三部分组成的。逻辑结构是面向用户的,用户使用 MongoDB 开发应用程序使用的就是逻辑结构。
- MongoDB 的文档(document),相当于关系数据库中的一行记录。
- 多个文档组成一个集合(collection),相当于关系数据库的表。
- 多个集合(collection),辑上组织在一起,就是数据库(database)。
- 一个 MongoDB 实例支持多个数据库(database)。
逻辑结构对比 | mongo | 关系数据库 | 文档 | 列 | 集合 | 表 | 数据库 | 数据库 | 数据存储结构
MongoDB 的默认数据目录是/data/db,它负责存储所有的 MongoDB 的数据文件。 MongoDB
在内部,每个数据库都包含一个.ns 文件和一些数据文件,而且这些数据文件会随着数据量的增加而变得越来越多。所以如果系统中有一个叫做 foo 的数据库,那么构成 foo 这个数据库的文件就会foo.ns,foo.0,foo.1,foo.2 等等组成。
leon@leon-ThinkPad-X230:/data/mongo/db$ ll
总用量 164032
drwxr-xr-x 3 root root 4096 6月 27 00:39 ./
drwxr-xr-x 5 root root 4096 6月 24 00:29 ../
-rw------- 1 root root 67108864 6月 27 00:39 foo.0
-rw------- 1 root root 16777216 6月 27 00:39 foo.ns
-rw------- 1 root root 67108864 6月 27 00:38 local.0
-rw------- 1 root root 16777216 6月 27 00:38 local.ns
-rwxr-xr-x 1 root root 6 6月 27 00:38 mongod.lock*
drwxr-xr-x 2 root root 4096 6月 27 00:39 _tmp/
MongoDB 内部有预分配空间的机制,每个预分配的文件都用 0 进行填充,由于有了这个机制, MongoDB 始终保持额外的空间和空余的数据文件,从而有效避免了由于数据暴增而带来的磁盘压力过大的问题。由于表中数据量的增加,数据文件每新分配一次,它的大小都会是上一个数据文件大小的 2倍,每个数据文件最大 2G。 |
|
|