2011-08-22 33 views
7

85 GB'lık bir alan tahsis edilmiş bir veritabanım var. Bu boyutu show dbs komutunu kullanarak aldım. Ama db.stats() kullandığımda, depolama boyutunu 63 GB olarak aldım. Dokümanlardan geçtikten sonra dat mongo db'nin oluşturulan db'ye bir boyut ayırdığını buldum ve ardından gerçek veriler dolduruldu.MongoDb: Aşırı disk alanından kaçının

Neden mongo bu önyükleme işlemini yapıyor ve bu önyüklemeyi engelleyebileceğim bir yol var mı?

Evet, bunu yapmak iyi bir fikir mi yoksa performans açısından mı etkileyecek?

Teşekkürler!

cevap

4

ayrıntıları burada bulunabilir: http://www.mongodb.org/display/DOCS/Excessive+Disk+Space Şimdi

davanıza. Veri dosyalarınızın şu anki büyüklüğünün tek başına ön izin verilemeyeceğini düşünüyorum. Ayrılan veri dosyalarının maksimum boyutu 2G'dir. Belki bir zamanlar bugünden çok daha fazla veri depoladınız mı? Yukarıdaki bağlantı, bir daha ihtiyacınız olmayacağından eminseniz, bu verilerin nasıl geri alınacağını da gösterir. Bu işlem sırasında çok fazla disk alanı gerektirecektir, bu yüzden bunu bazı planlamalar yapmalısınız. Ön ayrıştırmayı devre dışı bırakmak gerçekten de perfomance etkisine sahip olacaktır. Çok sayıda ekleme yaptığınızda, süreç düzenli olarak yeni bir dosya oluşturmak için beklemek zorunda kalacaktı.

+0

Hey cevabınız için teşekkürler .... boyuttaki fark, bir kez veriyi sakladım ve ikincisini sildim. Bağlantıyı sağladığınız dokümanlar arasında gidip, koleksiyonu sıkıştırmak için db.runCommand ({compact: 'collectionname'} kullanacağım). –

0

Preallocation'ı --noprealloc command line parameter ile devre dışı bırakabilirsiniz.


Okuyabiliyorsun daha here

+0

Sürüm 2.6'dan itibaren bu bayrak kullanımdan kaldırılmıştır. --noprealloc artık varsayılan. – binarysubstrate