MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Kích thước tệp MongoDB GridFS rất lớn cho tệp tương đối nhỏ

Được; Sau nhiều lần tìm kiếm, có vẻ như MongoDB phân bổ trước dung lượng trong các tệp có kích thước theo cấp số nhân lên đến 2Gb, sau đó mỗi tệp sẽ là 2G.

http://www.mongodb.org/display/DOCS/Excessive+Disk + Dấu cách

Chương trình thử nghiệm của tôi thêm các tệp 80Mb, trong các tệp nền (.0 - .7, v.v.) và khi các khối dữ liệu bắt đầu được ghi vào tệp cuối cùng, Mongo sẽ phân bổ trước một tệp khác lớn hơn theo cấp số nhân so với tệp cuối cùng.

Vì vậy, tệp 80Mb đầu tiên, lấp đầy tệp 16Mb, tệp 32Mb và các tệp nền 64Mb và do dữ liệu meta chiếm nhiều dung lượng hơn một chút và phải lấn một chút vào tệp 128Mb, điều này kích hoạt mongo phân bổ trước tổng số tệp 256Mb 496Mb; khi nhiều tệp được thêm vào, nhiều tệp được phân bổ trước và khi 2Gb được nhấn vào máy thử nghiệm của tôi, Mongo không thể truy cập vào dung lượng và bị sập.

Vì vậy, mặc dù có vẻ như một tệp 80Mb chiếm nhiều dung lượng hơn so với mức cần thiết - nó có ý nghĩa theo cách vòng vo.

Có thể tắt tính năng này bằng cách chạy mongod với --noprealloc mặc dù điều này chỉ được khuyến nghị cho các máy thử nghiệm.

Cảm ơn câu trả lời của bạn!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB bật với Docker không kết nối được với máy chủ [localhost:27017] trong lần kết nối đầu tiên

  2. Bắt đầu fork mongod, LỖI:quy trình con không thành công, thoát với lỗi số 1

  3. Làm cách nào để tìm một đối tượng có thuộc tính foo hoặc bar bằng giá trị truy vấn?

  4. Hiển thị nhanh các tài liệu mongodb trong Jade

  5. mongoose (mongodb) Trường bí danh _id