Pymongo 外置硬盘存储集合

Pymongo external harddrive to store collection

我为此在谷歌上搜索了很多,但找不到任何相关内容:

我在本地机器上使用 mongodb/Pymongo。现在我想创建一个对我的内部硬盘驱动器来说太大的集合。

有没有办法表明 MongoDB 我想将特定集合存储到不同的路径,或者我是否必须将整个数据库移动到外部硬盘驱动器?

欢迎任何意见!

不,没有直接的方法可以将单个集合的数据保存在不同的位置。

可以将不同数据保存在不同位置的方法有限,但是none其中的方法足够细化以处理不同的集合:

  1. storage.directoryPerDB 配置选项允许您将每个 数据库 保存在不同的目录中 - 但仍然会将所有收集数据保存在同一文件夹中。
  2. storage.wiredTiger.engineConfig.directoryForIndexes 选项允许您将索引数据保存在与集合数据不同的目录中 - 但仍然会将所有集合数据保存在同一文件夹中。

在这两种情况下,对于日志,都可以 use a symbolic link 到不同驱动器上的文件夹 - 但对于单个集合的数据,这是不可能的。

将单个非常大的集合的数据拆分到不同位置的标准解决方案是 sharding;但这需要多个不同的服务器,每个服务器都有自己的 MongoDB 安装。在您的情况下,运行 仅在本地计算机上,我认为分片不会对您有太大帮助;更好的解决方案可能只是购买更大的硬盘。