MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pourquoi MongoDB prend-il autant de place ?

Fondamentalement, il s'agit de mongo se préparant à l'insertion de données. Mongo effectue une pré-allocation de stockage pour les données afin d'empêcher (ou de minimiser) la fragmentation sur le disque. Cette préaffectation est constatée sous la forme d'un fichier que le mongod l'instance crée.

Il crée d'abord un fichier de 64 Mo, puis 128 Mo, puis 512 Mo, et ainsi de suite jusqu'à ce qu'il atteigne des fichiers de 2 Go (la taille maximale des fichiers de données préalloués).

Il y a d'autres choses que mongo fait qui pourraient être suspectes d'utiliser plus d'espace disque, des choses comme la journalisation...

Pour beaucoup, beaucoup plus d'informations sur la façon dont mongoDB utilise l'espace de stockage, vous pouvez consulter cette page et en particulier la section intitulée Pourquoi les fichiers de mon répertoire de données sont-ils plus volumineux que les données de ma base de données ?

Il y a certaines choses que vous pouvez faire pour minimiser l'espace utilisé, mais ces tequniques (comme l'utilisation de --smallfiles option) ne sont généralement recommandés que pour le développement et les tests, jamais pour la production.