mongoDB - Duda en mongodb con datos grandes

 
Vista:
sin imagen de perfil

Duda en mongodb con datos grandes

Publicado por William (6 intervenciones) el 13/03/2016 05:05:13
Hola, buen día.

Estoy cargando datos de un archivo de texto que tiene 103.319.647 de lineas, son simples números. El problema que tengo es que cuando empiezo la carga llega un momento que me deja sin espacio en disco duro.

El archivo pesa 13.5gb y cuando me deja sin espacio en disco la base de datos pesa unos 40gb y sigue en aumento y el programa se cancela por la falta de espacio. Estoy haciendo la carga con un programa que hice en java.

He investigado algo sobre el limite de los documentos que no puede exceder los 16 mb, en caso de ser más grandes la base de datos se incrementará para poder usar más memoria a la hora de hacer consultas.

Que me recomiendan, ¿Tengo que ir pensando en buscar más espacio en disco duro o hay alguna forma de solucionar este problema?

He leído sobre GridFS pero no entiendo su funcionamiento.

Me estoy iniciando con mongo, espero me puedan ayudar.

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 38
Ha disminuido 1 puesto en mongoDB (en relación al último mes)
Gráfica de mongoDB

Duda en mongodb con datos grandes

Publicado por xve (44 intervenciones) el 13/03/2016 17:56:50
Hola William, según entiendo, estas intentando guardar todo el contenido del archivo (13.5GB) en un solo documento de mongo??

Si es así, La verdad no se por que razón necesitas ponerlo dentro de una base de datos? creo que te es mucho mas fácil trabajar con ese archivo que poniéndolo dentro de un solo documento de mongo.

Cabe la posibilidad de guardar cada linea en un documento de mongo?

todo esto, dependerá de que necesidades tengas que hace con dicha base de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Duda en mongodb con datos grandes

Publicado por William (6 intervenciones) el 13/03/2016 22:27:17
Hola xve, gracias por responder, lo que yo estoy haciendo es lo siguiente:

por ejemplo:
base de datos: DB
la colección: Datos

lo que estoy haciendo es:

1
2
3
4
5
6
7
8
9
10
11
12
while((linea=br.readLine())!=null)
{
      String palabra[] = linea.split(" ");
     document = new BasicDBObject();
     document.append("_id", palabra[17]);
     document.append("ra", Double.parseDouble(palabra[0]));
     .
     .
     .
     document.append("K", Double.parseDouble(palabra[21]));
     collection.insert(document);
}

Es ir leyendo e ir metiendo los datos en la colección, imagino que te refieres a esto con tu pregunta.

Necesito cargar los datos a mongodb para probar el funcionamiento y hacer una aplicación web para consultas de dichos datos.

¿Es normal que ocupe tanto espacio como ya expliqué o es que estoy haciendo algo mal?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 38
Ha disminuido 1 puesto en mongoDB (en relación al último mes)
Gráfica de mongoDB

Duda en mongodb con datos grandes

Publicado por xve (44 intervenciones) el 14/03/2016 08:36:05
Hola William, no se que lenguaje estas utilizando, pero por lo que veo, estas creando un documento por cada linea del archivo verdad?

Si es así, la unica manera para que te ocupe tanto espacio, es que estes utilizando muchos índices...

Que versión de MongoDB estas utilizando?
Estas utilizando el nuevo formato WiredTiger?

Si utlizas la versión 3.2, por defecto ya utiliza el formato wiredTiger...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Duda en mongodb con datos grandes

Publicado por William (6 intervenciones) el 14/03/2016 09:05:47
Ese lenguaje es java y estoy utilizando el driver correspondiente. La versión de mongodb es la 2.6.10.

En efecto estoy guardando un documento por cada linea, en el código no los puse todos pero son 22 variables que estoy guardando.

Con respecto a lo que dices sobre los índices como es eso de que este utilizando muchos? si crees que allí esta el problema como haría para solucionar eso?

Puede que desconozca algunas cosas. Yo pensé que con hacerme un programita para cargarme toda la data así como lo puse en el código bastaría pero surgió el problema de que consume mucho espacio en disco.

aquí dejo el código completo para que lo veas mejor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Duda en mongodb con datos grandes

Publicado por William (6 intervenciones) el 19/03/2016 05:22:05
Hola xve, seguí tu consejo y usé la versión 3.2 de mongodb, especificamente la 3.2.4.

Con hacer eso pude cargar los datos sin problemas. Ya no me quedé sin espacio en disco. El tamaño de los datos estando en la base d datos es normal.

Nunca supe porque en la version 2.6.10 los datos se volvían tan pesados en la base de datos.

Gracias por la ayuda.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar