MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Mengurangi ukuran file database MongoDB

PERBARUI: dengan compact perintah dan WiredTiger sepertinya ruang disk ekstra akan benar-benar dilepaskan ke OS.

PERBARUI: pada v1.9+ ada compact perintah.

Perintah ini akan melakukan pemadatan "in-line". Ini masih membutuhkan ruang ekstra, tetapi tidak sebanyak itu.

MongoDB mengompresi file dengan:

  • menyalin file ke lokasi baru
  • membolak-balik dokumen dan memesan ulang / menyelesaikannya kembali
  • mengganti file asli dengan file baru

Anda dapat melakukan "kompresi" ini dengan menjalankan mongod --repair atau dengan menghubungkan secara langsung dan menjalankan db.repairDatabase() .

Dalam kedua kasus, Anda memerlukan ruang di suatu tempat untuk menyalin file. Sekarang saya tidak tahu mengapa Anda tidak memiliki cukup ruang untuk melakukan kompres, namun, Anda memiliki beberapa opsi jika Anda memiliki komputer lain dengan lebih banyak ruang.

  1. Ekspor database ke komputer lain yang telah menginstal Mongo (menggunakan mongoexport ) dan kemudian Anda dapat Mengimpor database yang sama (menggunakan mongoimport ). Ini akan menghasilkan database baru yang lebih terkompresi. Sekarang Anda dapat menghentikan mongod yang asli ganti dengan file database baru dan Anda siap melakukannya.
  2. Hentikan mongod saat ini dan salin file database ke komputer yang lebih besar dan jalankan perbaikan di komputer itu. Anda kemudian dapat memindahkan file database baru kembali ke komputer asli.

Saat ini tidak ada cara yang baik untuk "memadat di tempat" menggunakan Mongo. Dan Mongo pasti bisa menyedot banyak ruang.

Strategi terbaik saat ini untuk pemadatan adalah menjalankan pengaturan Master-Slave. Anda kemudian dapat memadatkan Slave, membiarkannya mengejar dan menggantinya. Aku tahu masih sedikit berbulu. Mungkin tim Mongo akan tampil dengan pemadatan tempat yang lebih baik, tapi saya rasa itu bukan yang teratas dalam daftar mereka. Ruang drive saat ini dianggap murah (dan biasanya memang demikian).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Upsert massal di MongoDB menggunakan luwak

  2. Memperbarui sejumlah besar catatan dalam koleksi

  3. 5 Cara Memilih Baris dengan Nilai Minimum untuk Grup mereka di SQL

  4. Simpan tanggal di MongoDB tanpa mempertimbangkan zona waktu

  5. Properti tambahan validasi MongoDB jsonSchema