Tout d'abord, cela est en fait soulevé dans la prochaine version de 8MB
ou 16MB
... mais je pense que pour mettre cela en perspective, Eliot de 10gen (qui a développé MongoDB) le dit le mieux:
EDIT: La taille a été officiellement `` augmentée '' à16MB
Donc, sur votre exemple de blog, 4 Mo, c'est en fait beaucoup. Par exemple, le texte intégral non compressé de "War of the Worlds" ne fait que 364k (html):
http://www.gutenberg.org/etext/36
Si votre article de blog est aussi long avec autant de commentaires, je ne vais pas le lire :)
Pour les trackbacks, si vous leur consacrez 1 Mo, vous pourriez facilement avoir plus de 10k (probablement plus près de 20k)
Donc, à l'exception des situations vraiment bizarres, cela fonctionnera très bien. Et dans le cas d'exception ou de spam, je ne pense vraiment pas que vous voudriez un objet de 20 Mo de toute façon. Je pense que plafonner les trackbacks à environ 15k a beaucoup de sens, peu importe les performances. Ou du moins un boîtier spécial si cela arrive.
-Éliot
Je pense que vous auriez du mal à atteindre la limite ... et avec le temps, si vous mettez à niveau ... vous devrez vous inquiéter de moins en moins.
Le point principal de la limite est de ne pas utiliser toute la RAM de votre serveur (car vous devez charger tous MB
les documents dans la RAM lorsque vous l'interrogez.)
La limite est donc de quelques% de RAM utilisable normale sur un système commun ... qui continuera de croître d'année en année.
Remarque sur le stockage de fichiers dans MongoDB
Si vous avez besoin de stocker des documents (ou des fichiers) plus volumineux que 16MB
vous pouvez utiliser l' API GridFS qui divisera automatiquement les données en segments et vous les restituera (évitant ainsi le problème des limites de taille / RAM.)
Au lieu de stocker un fichier dans un seul document, GridFS divise le fichier en parties, ou blocs, et stocke chaque bloc dans un document distinct.
GridFS utilise deux collections pour stocker les fichiers. Une collection stocke les morceaux de fichier et l'autre les métadonnées de fichier.
Vous pouvez utiliser cette méthode pour stocker des images, des fichiers, des vidéos, etc. dans la base de données comme vous le feriez dans une base de données SQL. Je l'ai utilisé pour même stocker des fichiers vidéo de plusieurs gigaoctets.