MongoDB 的邏輯結構是主要由:文檔(document)、集合(collection)和數(shù)據(jù)庫(database)這三部分組成的,。 MongoDB 的文檔(document),相當于關系數(shù)據(jù)庫中的一行記錄 集合(collection),相當于關系型數(shù)據(jù)庫中的表的概念
文檔(document),、集合(collection)、數(shù)據(jù)庫(database)的層次結構如下圖:
文檔(document) 行(row) 集合(collection) 表(table) 數(shù)據(jù)庫(database) 數(shù)據(jù)庫(database)
MongoDB 的默認數(shù)據(jù)目錄是/var/lib/mongo,,存儲所有的MongoDB 的數(shù)據(jù)文件,。 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內(nèi)部,每個數(shù)據(jù)庫都包含一個.ns 文件和一些數(shù)據(jù)文件,,比如:user.ns,user.0,user.1,隨著數(shù)據(jù)量不斷增大,,文件的數(shù)量也會不斷地增多。 每張表都對應一個命名空間,每個索引也有對應的命名空間,。而這些命名空間的元數(shù)據(jù)都放在*.ns 文件中,。
MongoDB 內(nèi)部有預分配空間的機制,預分配的文件都用0 進行填充,,這樣mongodb始終保持額外的空間和空余的數(shù)據(jù)文件,。數(shù)據(jù)文件每次新生成的一個文件,它的大小都會是上一個數(shù)據(jù)文件大小的2倍,。 比如我的user.0是64M,,user.1就是128M。
|
|
來自: 昵稱21365845 > 《MongoDB》