分享

mongodb系列

 昵称21365845 2015-06-20

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。

 

   

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多