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

Zrozumienie limitu rozmiaru dokumentu MongoDB BSON

Po pierwsze, w następnej wersji zostanie to podniesione do 8MB lub 16MB ... ale myślę, że patrząc na to z innej perspektywy, Eliot z 10gen (który opracował MongoDB) ujął to najlepiej:

EDYTUJ: Rozmiar został oficjalnie „podniesiony” do 16MB

Tak więc, na twoim blogu, 4 MB to w rzeczywistości dużo. Na przykład, pełny nieskompresowany tekst „Wojny światów” ma tylko 364k (html):http://www.gutenberg.org/etext/36

Jeśli Twój post na blogu jest tak długi i zawiera tyle komentarzy, na pewno go nie przeczytam :)

W przypadku trackbacków, jeśli poświęcisz im 1 MB, możesz z łatwością mieć ponad 10 000 (prawdopodobnie bliżej 20 000)

Więc z wyjątkiem naprawdę dziwacznych resytuacji, będzie działać świetnie. A w przypadku wyjątku lub spamu, naprawdę nie sądzę, abyś chciał mieć obiekt o wielkości 20 MB. Myślę, że limitowanie trackbacków na mniej więcej 15k ma wiele sensu, niezależnie od tego, co dotyczy wydajności. Lub przynajmniej specjalna obudowa, jeśli kiedykolwiek się zdarzy.

-Eliota

Myślę, że trudno byłoby ci osiągnąć limit... az czasem, jeśli dokonasz aktualizacji... będziesz musiał się martwić coraz mniej.

Głównym punktem ograniczenia jest to, że nie zużywasz całej pamięci RAM na serwerze (ponieważ musisz załadować wszystkie MB s dokumentu do pamięci RAM, gdy wyślesz zapytanie.)

Tak więc limit wynosi około % normalnej użytecznej pamięci RAM we wspólnym systemie… która będzie rosła z roku na rok.

Uwaga na temat przechowywania plików w MongoDB

Jeśli potrzebujesz przechowywać dokumenty (lub pliki) większe niż 16MB możesz użyć interfejsu API GridFS, który automatycznie podzieli dane na segmenty i prześle je z powrotem do Ciebie (unikając w ten sposób problemu z limitami rozmiaru/RAM).

Zamiast przechowywać plik w pojedynczym dokumencie, GridFS dzieli plik na części lub fragmenty i przechowuje każdy fragment jako oddzielny dokument.

GridFS używa dwóch kolekcji do przechowywania plików. Jedna kolekcja przechowuje fragmenty plików, a druga przechowuje metadane plików.

Możesz użyć tej metody do przechowywania obrazów, plików, filmów itp. w bazie danych, podobnie jak w bazie danych SQL. Użyłem tego nawet do przechowywania wielogigabajtowych plików wideo.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Operacje zapisu plików w skrypcie mongo?

  2. MongoDB, usuń obiekt z tablicy

  3. Zapytanie MongoDB z elemMatch dla zagnieżdżonych danych tablicowych

  4. Jak mogę posortować, czy wartości null są ostatnio zamówione w mongodb?

  5. MongoDB SSL z samopodpisanymi certyfikatami w Node.js