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

Hiểu về giới hạn kích thước tài liệu MongoDB BSON

Trước hết, điều này thực sự đang được nâng lên trong phiên bản tiếp theo lên 8MB hoặc 16MB ... nhưng tôi nghĩ để đưa điều này vào quan điểm, Eliot từ 10gen (người đã phát triển MongoDB) đặt nó là tốt nhất:

CHỈNH SỬA: Kích thước đã chính thức được 'nâng' lên 16MB

Vì vậy, trong ví dụ trên blog của bạn, 4MB thực sự là rất nhiều .. Ví dụ, toàn bộ văn bản chưa nén đầy đủ của "War of the Worlds" chỉ có 364k (html):http://www.gutenberg.org/etext/36

Nếu bài đăng trên blog của bạn dài như vậy với nhiều bình luận, tôi không muốn đọc nó :)

Đối với trackbacks, nếu bạn dành riêng 1MB cho chúng, bạn có thể dễ dàng có hơn 10k (có thể gần 20k)

Vì vậy, ngoại trừ những tình huống thực sự kỳ lạ, nó sẽ hoạt động tốt. Và trong trường hợp ngoại lệ hoặc thư rác, tôi thực sự không nghĩ rằng bạn muốn một đường đối tượng 20mb. Tôi nghĩ rằng giới hạn trackbacks ở mức 15k hoặc lâu hơn có ý nghĩa rất quan trọng đối với hiệu suất. Hoặc ít nhất là vỏ bọc đặc biệt nếu nó từng xảy ra.

-Eliot

Tôi nghĩ rằng bạn sẽ rất khó đạt đến giới hạn ... và theo thời gian, nếu bạn nâng cấp ... bạn sẽ ngày càng phải lo lắng ít hơn.

Điểm chính của giới hạn là bạn không sử dụng hết RAM trên máy chủ của mình (vì bạn cần tải tất cả MB của tài liệu vào RAM khi bạn truy vấn nó.)

Vì vậy, giới hạn là một số% RAM có thể sử dụng bình thường trên một hệ thống thông thường ... sẽ tiếp tục tăng hàng năm.

Lưu ý về việc lưu trữ tệp trong MongoDB

Nếu bạn cần lưu trữ tài liệu (hoặc tệp) lớn hơn 16MB bạn có thể sử dụng API GridFS sẽ tự động chia nhỏ dữ liệu thành các phân đoạn và truyền chúng trở lại cho bạn (do đó tránh được vấn đề về giới hạn kích thước / RAM.)

Thay vì lưu trữ một tệp trong một tài liệu duy nhất, GridFS chia tệp thành các phần hoặc nhiều phần và lưu trữ mỗi phần như một tài liệu riêng biệt.

GridFS sử dụng hai bộ sưu tập để lưu trữ tệp. Một bộ sưu tập lưu trữ các khối tệp và bộ sưu tập khác lưu trữ siêu dữ liệu tệp.

Bạn có thể sử dụng phương pháp này để lưu trữ hình ảnh, tệp, video, v.v. trong cơ sở dữ liệu nhiều như bạn có thể trong cơ sở dữ liệu SQL. Tôi đã sử dụng nó để lưu trữ các tệp video nhiều gigabyte.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm thế nào để sử dụng tập hợp MongoDB để phân trang?

  2. MongoDB-as-a-Service ở Canada

  3. MongoDB $ sort

  4. Những lý do nên và không nên chuyển từ máy chủ SQL sang MongoDB

  5. Xóa tệp nhật ký của mongodb có an toàn không?