【发布时间】:2021-05-09 11:42:09
【问题描述】:
我想创建一个单独的磁盘来存储 MongoDB 数据库。但我意识到,数据库也有索引。所以我可能需要磁盘大小超过记录的大小。
问题是 mongo db 在哪里存储它的索引数据。 在配置文件中我们只提到了日志和数据库文件夹的路径。
【问题讨论】:
-
它与集合本身一起存储在 db 文件夹中。
标签: mongodb indexing installation storage
我想创建一个单独的磁盘来存储 MongoDB 数据库。但我意识到,数据库也有索引。所以我可能需要磁盘大小超过记录的大小。
问题是 mongo db 在哪里存储它的索引数据。 在配置文件中我们只提到了日志和数据库文件夹的路径。
【问题讨论】:
标签: mongodb indexing installation storage
问题是 mongo db 在哪里存储它的索引数据。在配置中 文件我们只提到日志和db文件夹的路径。
索引数据与集合数据一起存储在 MongoDB 服务器安装的data 目录中。也可以在启动mongod时使用--dbpath存储选项指定数据目录。
文件以如下名称存储,例如:
collection-2-3986418375741882655.wt
index-1-221874391618151955.wt
第一个是集合数据文件,第二个是索引数据文件。对于每个集合和索引,分别创建一个文件。因此,如果有 3 个集合和 5 个索引,则将有 8 个文件(数据目录也有其他文件)。
还有一个--directoryperdb 选项,指定时:
使用单独的目录来存储每个数据库的数据。这 目录位于 --dbpath 目录下,每个子目录 name 对应于数据库名称。
[编辑更新]:索引可以存储在单独的目录中
MongoDB Configuration File Options - storage.wiredTiger.engineConfig.directoryForIndexes
当
storage.wiredTiger.engineConfig.directoryForIndexes为真时,mongod将索引和集合存储在单独的子目录中 在数据(即 storage.dbPath)目录下。具体来说,mongod将索引存储在名为index的子目录和集合中 名为collection的子目录中的数据。
【讨论】: