配置本地环境
默认情况下,MongoDB 数据库目录的组织结构如下:
- collection-*.wt: 数据库的 collection 文件
- index-*.wt: 数据库建立的 index 文件
现在的数据库组织形式还是 flat 的,也就是所有数据库 collection 存储在一个目录下。
创建数据库子目录
我们可以使用 –directoryperdb 命令让 MongoDB 将数据库存储时候按照文件夹区分开:
首先使用命令,关闭 mongodb server。然后删除 db 目录并重新建立一个 db 目录。
1 | • mongo admin --eval 'db.shutdownServer()' |
下面对每一个 database 都创建自己的目录。
1 | • mongod --dbpath /data/db --fork --logpath /data/db/mongodb.log --directoryperdb |
可以看到初级目录里面已经没有 collection 和 index 文件了。如果进入 local 子目录,可以看到:
创建 collection 和 index 子目录
上面我们已经把不同的 database 放到了不同目录下,现在我们还可以将 collection 和 index 文件放在各自的目录下。
首先使用命令,关闭 mongodb server。然后删除 db 目录并重新建立一个 db 目录。
1 | • mongo admin --eval 'db.shutdownServer()' |
使用如下命令:
1 | • mongod --dbpath /data/db --fork --logpath /data/db/mongodb.log --directoryperdb --wiredTigerDirectoryForIndexes |
可以看到 local 数据库目录下多了两个子目录,一个是 collection ,一个是 index。之所以这么做,是为了提升数据库的性能。我们可以将 collection 和 index 放在两个不同的 disk 上。这样利用两个 disk 的 parallel 读写(parallel I/O),提升 mongodb 的数据吞吐量。