Pymongo外部硬盘存储集合

时间:2017-06-13 15:53:06

标签: mongodb pymongo external

我为此搜索了相当多的内容,但未找到任何相关内容:

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

有没有办法告诉MongoDB我想将特定集合存储到不同的路径,还是我必须将整个数据库移动到外部硬盘?

欢迎任何评论!

1 个答案:

答案 0 :(得分:0)

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

可以将不同数据保存在不同位置的方式有限,但它们都不够精细,无法处理不同的集合:

  1. storage.directoryPerDB配置选项允许您将每个数据库保存在不同的目录中 - 但这仍然会将所有收集数据保存在同一文件夹中。
  2. storage.wiredTiger.engineConfig.directoryForIndexes选项允许您将索引数据保存在与集合数据不同的目录中 - 但这仍然会将所有集合数据保存在同一文件夹中。
  3. 在这两种情况下以及日记中,都可以use a symbolic link到不同驱动器上的文件夹 - 但这对于单个集合的数据是不可能的。

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