MongoDB 是一个跨平台的数据库,一个运行着的 MongoDB 数据库就可以看成是一个 MongoDB Server, 该 Server 由实例和数据库组成,在一般的情况下一个 MongoDB Server 机器上包含一个实例和多个与之对应的数据库,但是在特殊情况下,如硬件投入成本有限或特殊的应用需求,也允许一个 Server 机器上可以有多个实例和多个数据库。
MongoDB 中一系列物理文件(数据文件,日志文件等)的集合或与之对应的逻辑结构(集
合,文档等)被称为数据库,简单的说,就是数据库是由一系列与磁盘有关系的物理文件的
组成。
MongoDB 的逻辑结构是一种层次结构。 主要由:
文档(document)、集合(collection)、数据库(database)这三部分组成的。
逻辑结构是面向用户的,用户使用 MongoDB 开发应用程序使用的就是逻辑结构。
MongoDB 的文档(document),相当于关系数据库中的一行记录。
多个文档组成一个集合(collection) ,相当于关系数据库的表。
多个集合(collection) ,逻辑上组织在一起,就是数据库(database) 。
一个 MongoDB 实例支持多个数据库(database)。
MongoDB 与关系型数据库的逻辑结构进行了对比:
逻辑结构对比 |
|
MongoDB |
关系型数据库 |
文档(document) |
行(row) |
集合(collection) |
表(table) |
数据库(database) |
数据库(database) |
MongoDB的默认数据目录是/data/db, 它负责存储所有的MongoDB的数据文件。
在MongoDB内部,每个数据库都包含一个.ns 文件和一些数据文件,而且这些数据文件会随着数据量的增加而变得越来越多。
所以如果系统中有一个叫做 foo 的数据库,那么构成 foo 这个数据库的文件就会由 foo.ns,foo.0,foo.1,foo.2 等等组成。
摘自 <<MongoDB管理与开发精要>>