使用MongoDB如何改善数据空洞
PHPz
PHPz 2017-04-22 08:56:10
0
1
861

数据空洞指的是,一个表经历了频繁的update和delete后,其数据文件的尺寸大于其数据实际尺寸。比如show dbs看到一个库为400G,导出再导入后就只有250G。

PHPz
PHPz

学习是最好的投资!

répondre à tous(1)
洪涛

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal