Prima di tutto, questo in realtà viene sollevato nella prossima versione di 8MB
o 16MB
... ma penso di metterlo in prospettiva, Eliot di 10gen (che ha sviluppato MongoDB) lo mette meglio:
EDIT: la dimensione è stata ufficialmente "aumentata" a16MB
Quindi, nell'esempio del tuo blog, 4 MB sono in realtà un sacco ... Ad esempio, il testo completo non compresso di "War of the Worlds" è solo 364k (html):
http://www.gutenberg.org/etext/36
Se il tuo post sul blog è così lungo con così tanti commenti, io per primo non lo leggerò :)
Per i trackback, se hai dedicato 1 MB a loro, potresti facilmente avere più di 10k (probabilmente più vicino a 20k)
Quindi, tranne per le situazioni davvero bizzarre, funzionerà alla grande. E nel caso dell'eccezione o dello spam, non credo davvero che vorresti comunque un oggetto da 20 MB. Penso che limitare i trackback come 15k o giù di lì abbia molto senso, non importa quale sia per le prestazioni. O almeno involucro speciale se mai dovesse succedere.
-Eliot
Penso che saresti abbastanza difficile raggiungere il limite ... e col tempo, se aggiorni ... dovrai preoccuparti sempre meno.
Il punto principale del limite è quindi di non utilizzare tutta la RAM sul server (poiché è necessario caricare tutti i messaggi MB
s nella RAM durante la query).
Quindi il limite è un po 'della normale RAM utilizzabile su un sistema comune ... che continuerà a crescere anno dopo anno.
Nota sulla memorizzazione di file in MongoDB
Se è necessario archiviare documenti (o file) di dimensioni superiori 16MB
a quelle disponibili, è possibile utilizzare l' API GridFS che suddividerà automaticamente i dati in segmenti e li trasmetterà di nuovo a voi (evitando così il problema con limiti di dimensioni / RAM).
Invece di archiviare un file in un singolo documento, GridFS divide il file in parti o blocchi e memorizza ogni blocco come documento separato.
GridFS utilizza due raccolte per archiviare i file. Una raccolta memorizza i blocchi di file e l'altra memorizza i metadati dei file.
È possibile utilizzare questo metodo per archiviare immagini, file, video, ecc. Nel database, proprio come si farebbe in un database SQL. L'ho usato anche per archiviare file video multi gigabyte.