Il n'est pas nécessaire d'exporter puis d'importer, utiliser repairDatabase ou compact compressera les données. Mais ils ont un impact sur les performances en fonctionnement.
La commande repairDatabase compacte toutes les collections de la base de données. Elle est identique à l'exécution de la commande compact sur chaque collection individuellement.
Il convient de noter que compact ne libérera pas l'espace disque demandé comme repairDatabase, mais les nouvelles demandes de disque utiliseront l'espace alloué. Une autre chose à noter est que les deux commandes nécessitent de l'espace supplémentaire, voir la section sur l'utilisation de Dick. Cela signifie que si l'espace disque est plein, ces deux commandes ne seront pas utilisées. Cependant, à ce moment-là, un nœud esclave peut être resynchronisé et les données du disque peuvent être reconstruites.
Si vous utilisez repairDatabase ou compact dans un jeu de répliques, il est préférable d'utiliser la méthode de roulement.
La méthode de roulement consiste à supprimer d’abord un nœud secondaire et à défragmenter le disque. Répétez ensuite les étapes ci-dessus sur tous les nœuds esclaves. Enfin, désactivez le serveur principal et défragmentez le disque qui s'y trouve. Cela peut éviter l'impact de ces opérations sur les services en ligne.
Il est recommandé d'utiliser usePowerOf2Sizes pour permettre à MongoDB d'utiliser le disque plus efficacement lors de mises à jour et de suppressions fréquentes, car chaque application et version a une puissance de 2.
Il n'est pas nécessaire d'exporter puis d'importer, utiliser
repairDatabase
oucompact
compressera les données. Mais ils ont un impact sur les performances en fonctionnement.Il convient de noter que
compact
ne libérera pas l'espace disque demandé commerepairDatabase
, mais les nouvelles demandes de disque utiliseront l'espace alloué. Une autre chose à noter est que les deux commandes nécessitent de l'espace supplémentaire, voir la section sur l'utilisation de Dick. Cela signifie que si l'espace disque est plein, ces deux commandes ne seront pas utilisées. Cependant, à ce moment-là, un nœud esclave peut être resynchronisé et les données du disque peuvent être reconstruites.Si vous utilisez
repairDatabase
oucompact
dans un jeu de répliques, il est préférable d'utiliser la méthode de roulement. La méthode de roulement consiste à supprimer d’abord un nœud secondaire et à défragmenter le disque. Répétez ensuite les étapes ci-dessus sur tous les nœuds esclaves. Enfin, désactivez le serveur principal et défragmentez le disque qui s'y trouve. Cela peut éviter l'impact de ces opérations sur les services en ligne.Il est recommandé d'utiliser
usePowerOf2Sizes
pour permettre à MongoDB d'utiliser le disque plus efficacement lors de mises à jour et de suppressions fréquentes, car chaque application et version a une puissance de 2.