Tidak perlu mengeksport dan kemudian mengimport, menggunakan repairDatabase atau compact akan memampatkan data. Tetapi mereka mempunyai kesan ke atas prestasi semasa operasi.
Arahan repairDatabase memampatkan semua koleksi dalam pangkalan data Ia sama dengan menjalankan arahan padat pada setiap koleksi secara inpidually.
Perlu diambil perhatian bahawa compact tidak akan melepaskan ruang cakera yang telah digunakan seperti repairDatabase, tetapi permintaan cakera baharu akan menggunakan ruang yang diperuntukkan. Perkara lain yang perlu diperhatikan ialah kedua-dua arahan memerlukan ruang tambahan, lihat bahagian penggunaan batang. Ini bermakna jika ruang cakera penuh, kedua-dua arahan ini tidak akan digunakan. Walau bagaimanapun, pada masa ini, anda boleh menyegerakkan semula nod hamba dan membina semula data cakera.
Jika anda menggunakan repairDatabase atau compact dalam set replika, sebaiknya gunakan kaedah rolling.
Kaedah rolling adalah dengan mula-mula mengeluarkan nod sekunder dan defragment cakera. Kemudian ulangi langkah di atas pada semua nod hamba. Akhir sekali, turunkan bahagian utama dan defragment cakera padanya. Ini boleh mengelakkan kesan operasi ini pada perkhidmatan dalam talian.
Adalah disyorkan untuk menggunakan usePowerOf2Sizes untuk membenarkan MongoDB menggunakan cakera dengan lebih cekap di bawah kemas kini dan pemadaman yang kerap, kerana setiap aplikasi dan keluaran adalah kuasa 2 dalam saiz.
Tidak perlu mengeksport dan kemudian mengimport, menggunakan
repairDatabase
ataucompact
akan memampatkan data. Tetapi mereka mempunyai kesan ke atas prestasi semasa operasi.Perlu diambil perhatian bahawa
compact
tidak akan melepaskan ruang cakera yang telah digunakan sepertirepairDatabase
, tetapi permintaan cakera baharu akan menggunakan ruang yang diperuntukkan. Perkara lain yang perlu diperhatikan ialah kedua-dua arahan memerlukan ruang tambahan, lihat bahagian penggunaan batang. Ini bermakna jika ruang cakera penuh, kedua-dua arahan ini tidak akan digunakan. Walau bagaimanapun, pada masa ini, anda boleh menyegerakkan semula nod hamba dan membina semula data cakera.Jika anda menggunakan
repairDatabase
ataucompact
dalam set replika, sebaiknya gunakan kaedah rolling. Kaedah rolling adalah dengan mula-mula mengeluarkan nod sekunder dan defragment cakera. Kemudian ulangi langkah di atas pada semua nod hamba. Akhir sekali, turunkan bahagian utama dan defragment cakera padanya. Ini boleh mengelakkan kesan operasi ini pada perkhidmatan dalam talian.Adalah disyorkan untuk menggunakan
usePowerOf2Sizes
untuk membenarkan MongoDB menggunakan cakera dengan lebih cekap di bawah kemas kini dan pemadaman yang kerap, kerana setiap aplikasi dan keluaran adalah kuasa 2 dalam saiz.