2017-06-13 1 views
1

je googlé tout à fait un peu pour cela, mais n'a pas pu trouver quoi que ce soit sur ce point:Pymongo disque dur externe à la collection de magasin

J'utilise MongoDB/Pymongo sur ma machine locale. Maintenant, je veux créer une collection qui est trop grande pour mon disque dur interne.

Existe-t-il un moyen d'indiquer à MongoDB que je veux stocker une collection spécifique sur un chemin différent ou devrais-je déplacer toute la base de données sur le disque dur externe?

Tous les commentaires seraient les bienvenus!

Répondre

0

Non, il n'existe aucun moyen simple de sauvegarder les données d'une seule collection dans un emplacement différent.

Il y a un nombre limité de façons que vous pouvez garder des données différentes dans des endroits différents, mais aucun d'entre eux sont assez granuleuse pour travailler sur différentes collections:

  1. L'option de configuration storage.directoryPerDB vous permet de garder chaque base de données dans un répertoire différent - mais cela garderait toujours toutes les données de la collection dans le même dossier.
  2. L'option storage.wiredTiger.engineConfig.directoryForIndexes vous permet de conserver les données d'index dans un répertoire distinct des données de la collection, mais cela conserve toutes les données de la collection dans le même dossier. Dans ces deux cas

, et aussi pour le journal, il est possible de use a symbolic link dans un dossier sur un autre lecteur - mais cela est impossible pour les données d'une collection unique.

La solution standard pour séparer les données d'une seule très grande collection entre différents emplacements est par sharding; mais cela nécessite plusieurs serveurs différents, chacun avec sa propre installation MongoDB. Dans votre cas, fonctionnant uniquement sur une machine locale, je ne pense pas que le sharding vous aiderait beaucoup; une meilleure solution est probablement juste pour acheter un disque dur beaucoup plus gros.