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

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

PHPz
PHPz

学习是最好的投资!

membalas semua(1)
洪涛

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan