2011-08-22 24 views
7

Estoy teniendo una base de datos a la que se le ha asignado un espacio de 85 GB. Obtuve este tamaño usando el comando show dbs. Pero cuando uso db.stats(), obtengo el tamaño de almacenamiento de 63GB. Después de revisar los documentos, encontré que dat mongo db asigna un tamaño al archivo db que se crea y luego se completan los datos reales.MongoDb: Evite el exceso de espacio en disco

¿Por qué mongo hace esta preasignación y hay alguna forma de evitar esta preasignación?

En caso afirmativo, ¿será una buena idea hacerlo o afectará desde el punto de vista del rendimiento?

Gracias !!!

Respuesta

4

detalles se pueden encontrar aquí: http://www.mongodb.org/display/DOCS/Excessive+Disk+Space

ahora a su caso. Creo que el tamaño actual de sus archivos de datos no puede ser causado solo por la asignación previa. El tamaño máximo de los archivos de datos asignados es 2G. ¿Tal vez una vez almacenó muchos más datos que hoy? El enlace de arriba también muestra cómo recuperar estos datos si está seguro de que no los necesitará pronto de todos modos. Esto requerirá mucho espacio en el disco durante el proceso, por lo que debe darle un poco de planificación.

Desactivar la preasignación tendrá un impacto en el rendimiento. Cuando hace muchas inserciones, el proceso debería esperar regularmente para crear un nuevo archivo.

+0

Hola, gracias por la respuesta ... la diferencia en el tamaño se debe a que una vez había almacenado los datos y luego los había eliminado. Yendo a través de los documentos para los que ha proporcionado el enlace: voy a usar db.runCommand ({compact: 'collectionname'} para compactar la colección. –

0

Puede deshabilitar la preasignación con --noprealloc command line parameter.


Puede leer más here

+0

A partir de la versión 2.6 este indicador está en desuso. --noprealloc ahora es el predeterminado. – binarysubstrate

Cuestiones relacionadas