Po pierwsze, to faktycznie jest podnoszone w następnej wersji do 8MB
lub 16MB
... ale myślę, że patrząc z perspektywy, Eliot z 10gen (który opracował MongoDB) ujął to najlepiej:
EDYTOWAĆ: Rozmiar został oficjalnie „podniesiony” do16MB
Tak więc na przykładzie Twojego bloga 4 MB to w rzeczywistości dużo. Na przykład pełny, nieskompresowany tekst „Wojny światów” to tylko 364 kB (html):
http://www.gutenberg.org/etext/36
Jeśli Twój post na blogu jest tak długi i zawiera tak wiele komentarzy, na przykład nie zamierzam go czytać :)
W przypadku trackbacków, jeśli przeznaczysz im 1 MB, możesz z łatwością mieć więcej niż 10k (prawdopodobnie bliżej 20k)
Więc poza naprawdę dziwacznymi sytuacjami będzie działać świetnie. A w wyjątkowych przypadkach lub w przypadku spamu naprawdę nie sądzę, abyś i tak chciał mieć obiekt o wielkości 20 MB. Myślę, że ograniczenie trackbacków do 15k lub więcej ma sens bez względu na wydajność. Albo przynajmniej specjalna obudowa, jeśli to się kiedykolwiek zdarzy.
-Eliot
Myślę, że osiągnięcie limitu byłoby bardzo trudne ... az czasem, jeśli uaktualnisz ... będziesz musiał się coraz mniej martwić.
Głównym punktem limitu jest to, aby nie zużywać całej pamięci RAM na serwerze (ponieważ musisz załadować wszystkie MB
pliki dokumentu do pamięci RAM, gdy go wysyłasz).
Tak więc limit to pewien% normalnej użytecznej pamięci RAM we wspólnym systemie ... który będzie rosnąć z roku na rok.
Uwaga dotycząca przechowywania plików w MongoDB
Jeśli potrzebujesz przechowywać dokumenty (lub pliki) większe niż 16MB
możesz skorzystać z GridFS API, które automatycznie podzieli dane na segmenty i przesyła je z powrotem do Ciebie (unikając w ten sposób problemu z limitami rozmiaru / pamięcią RAM).
Zamiast przechowywać plik w pojedynczym dokumencie, GridFS dzieli plik na części lub porcje i przechowuje każdą porcję 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żywałem tego nawet do przechowywania plików wideo o wielkości wielu gigabajtów.