MongoDB 的逻辑结构是主要由:文档(document)、集合(collection)和数据库(database)这三部分组成的。 MongoDB 的文档(document),相当于关系数据库中的一行记录 集合(collection),相当于关系型数据库中的表的概念
文档(document)、集合(collection)、数据库(database)的层次结构如下图:
文档(document) 行(row) 集合(collection) 表(table) 数据库(database) 数据库(database)
MongoDB 的默认数据目录是/var/lib/mongo,存储所有的MongoDB 的数据文件。 ll -h /var/lib/mongo 总计 5.0G -rw-r--r-- 1 mongod mongod 617M 02-10 00:30 diaglog.54c7318c -rw-r--r-- 1 mongod mongod 42M 02-11 19:26 diaglog.54d96212 drwxr-xr-x 2 mongod mongod 4.0K 02-10 09:50 journal -rw------- 1 mongod mongod 64M 02-10 10:32 local.0 -rw------- 1 mongod mongod 1.0G 02-11 18:14 local.1 -rw------- 1 mongod mongod 16M 02-11 18:14 local.ns -rwxr-xr-x 1 mongod mongod 5 02-10 09:43 mongod.lock -rw------- 1 mongod mongod 16M 01-27 14:37 user.ns -rw------- 1 mongod mongod 64M 01-27 14:37 user.0 -rw------- 1 mongod mongod 128M 01-27 14:35 user.1 -rw------- 1 mongod mongod 64M 02-11 09:49 audit_log.0 -rw------- 1 mongod mongod 128M 01-27 14:36 audit_log.1 -rw------- 1 mongod mongod 16M 02-11 09:49 audit_log.ns ...... 在MongoDB内部,每个数据库都包含一个.ns 文件和一些数据文件,比如:user.ns,user.0,user.1,随着数据量不断增大,文件的数量也会不断地增多。 每张表都对应一个命名空间,每个索引也有对应的命名空间。而这些命名空间的元数据都放在*.ns 文件中。
MongoDB 内部有预分配空间的机制,预分配的文件都用0 进行填充,这样mongodb始终保持额外的空间和空余的数据文件。数据文件每次新生成的一个文件,它的大小都会是上一个数据文件大小的2倍。 比如我的user.0是64M,user.1就是128M。
|
|
来自: 昵称21365845 > 《MongoDB》