2012-02-28 11 views
13

Estoy intentando MongoDB pero no entiendo los archivos creados por él.MongoDB creó archivos

Si creo un documento en mi colección dB Le dicen usuarios, se crearán estos archivos en mi /data/db/

_tmp (folder) 
mongod.lock 
users.0 - 16.8MB 
users.1 - 33.6MB 
users.ns - 16.8MB 

He añadido algunos documentos y los archivos de tamaño No he cambiado ... Estoy un poco perdido aquí ... ¿Alguien sabe cómo funcionan esos archivos? Intenté abrirlos con gedit/vim y nada.

Gracias de antemano por cualquier ayuda.

+0

"usuarios" serían una base de datos? Estos archivos corresponden a su base de datos, no a su colección. ¿No es así? –

Respuesta

41

Los archivos .0, .1 son archivos de datos. Cada archivo de datos está preasignado a un tamaño particular. (Esto se hace para evitar la fragmentación del sistema de archivos, entre otras razones). El primer nombre de archivo para una base de datos es .0, luego .1, etc. .0 será 64MB, .1 128MB, etcétera, hasta 2GB. Una vez que los archivos alcanzan un tamaño de 2 GB, cada archivo sucesivo también es de 2 GB. La información relativa a los ficheros de datos se puede encontrar aquí:

http://www.mongodb.org/display/DOCS/Excessive+Disk+Space

Los archivos ".BO" son archivos de espacio de nombres. Cada colección e índice contarían como un espacio de nombre. Cada espacio de nombre es de 628 bytes, el archivo .ns es de 16 MB por defecto.

Por lo tanto, si cada colección tuviera un índice, podemos crear hasta 12,000 colecciones. El parámetro --nssize le permite aumentar este límite.

El tamaño máximo de archivo .ns es de 2GB.

+1

+1 para una buena descripción detallada. Sin embargo, te perdiste la carpeta _tmp y el bloqueo. :) –

+1

¡Leí completamente justo después de ellos! – Bill

+0

¡Hola! Quiero crear un conjunto de réplicas, ¿cuál es la extensión de la base de datos? ¿Debo usar .0 o .1 o .ns? – Sekai

1

Mongo preasigna espacio en bloques, por lo que el tamaño del archivo permanecerá en 16Mb hasta que tenga más de 16Mb de datos, y se desplaza sobre un nuevo fragmento.

+0

así que supongo que users.0 y users.1 son aquellos archivos donde se almacenarán mis documentos y qué ocurre con users.ns y whynames.0 y .1? No tengo toda esa información. Solo tengo un usuario agregado. – Gerep

+0

No sé por qué, pero no estoy seguro de por qué te importaría, estos son archivos binarios utilizados exclusivamente por el Mongo. backend. No están destinados a ser utilizados por usted directamente. –

+0

users.ns es el espacio de nombres, que de forma predeterminada es ese tamaño de 16.8MB, y no crecerá a menos que cambie su configuración. Tiene cosas como nombres de colecciones, y probablemente otras cosas que no conozco. –

Cuestiones relacionadas