【问题标题】:Where does MongoDB store index data?MongoDB在哪里存储索引数据?
【发布时间】:2021-05-09 11:42:09
【问题描述】:

我想创建一个单独的磁盘来存储 MongoDB 数据库。但我意识到,数据库也有索引。所以我可能需要磁盘大小超过记录的大小。

问题是 mongo db 在哪里存储它的索引数据。 在配置文件中我们只提到了日志和数据库文件夹的路径。

【问题讨论】:

  • 它与集合本身一起存储在 db 文件夹中。

标签: mongodb indexing installation storage


【解决方案1】:

问题是 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 的子目录中的数据。

【讨论】:

    猜你喜欢
    • 2018-09-15
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 2015-11-17
    • 2012-04-11
    相关资源
    最近更新 更多