MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Rozmiary plików MongoDB GridFS są ogromne dla stosunkowo małych plików

Ok; po długich poszukiwaniach wydaje się, że MongoDB wstępnie przydziela miejsce w plikach o wielkości wykładniczej do 2 GB, po czym każdy plik będzie miał 2 GB.

http://www.mongodb.org/display/DOCS/Excessive+Disk +Spacja

Mój program testowy dodaje pliki 80Mb w plikach tła (.0 - .7 itd.) i gdy porcje danych zaczynają być zapisywane do ostatniego pliku, Mongo wstępnie alokuje inny plik wykładniczo większy niż poprzedni.

Tak więc pierwszy plik 80Mb, wypełnia plik 16Mb, plik 32Mb i pliki tła 64Mb, a ze względu na metadane zajmują nieco więcej miejsca i muszą nieznacznie naruszyć plik 128Mb, co powoduje, że Mongo wstępnie przydzieli plik 256Mb w sumie 496Mb; w miarę dodawania większej liczby plików, więcej plików jest wstępnie przydzielanych, a gdy na mojej maszynie testowej dochodzi do 2 Gb, Mongo nie może uzyskać dostępu do miejsca i zwija się.

Więc chociaż wydaje się, że jeden plik 80Mb zajmuje o wiele więcej miejsca niż powinien - ma to sens w okrężny sposób.

Można to wyłączyć, uruchamiając mongod z opcją --noprealloc, chociaż jest to zalecane tylko dla maszyn testowych.

Dziękujemy za odpowiedzi!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak uzyskać odległość — funkcja MongoDB Template Near

  2. Jak zainstalować mongodb w Elastic Beanstalk?

  3. db.getUser w node.js mongodb

  4. Zapytaj MongoDB, czy jest to Master z bashscriptu

  5. Czy mongocli obsługuje adres URL formuły dla chipów Apple M1?