[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Es mejor un archivo grande o muchos pequeños



El 20/12/14 a las 21:10, Eduardo Jorge Gil Michelena escribió:
Con fecha Martes, 16 de Diciembre de 2014, 02:52:01 p.m., Edwin,
  escribió:
Actualmente para este fin uso PostgreSQL, sin ningun problema, pero
o que necesito es hacer la aplicacion mas independiente y facil de instalar, configurar, etc.
He pensado en usar XML para cada registro que la aplicacion genera,
de este modo ya no hay peligro de corrupcion de datos, como podria suceder en el caso de SQLite.
La Pregunta es la siguiente: ¿es pesado (lento) para el procesador
el tener que leer o copiar cientos o miles de archivos individuales,
lo pregunto porque me ha pasado que cuando copio alguna carpeta que
contiene ciento de archivos, todos menores a 10K, el proceso es muy
muy lento.?
Te voy a responder la pregunta: SIEMPRE es más pesado usar muchos archivos
chicos que uno grande. Salvo en casos muy puntuales usar archivos
grandes es mejor.

Por supuesto que hay excepciones y si te das suficiente maña para
programar usando los datos en discos separados o bien sabiendo
exactamente donde apuntar al dato los archivos chicos responden mejor
pero esto es una excepción y no la regla.

Mira... cuando yo trabajo en video y fotografía profesional manejo archivos MUY
GRANDES (de video, que pueden llegar a tener 10 GBytes o más) y
archivos "relativamente" chicos (fotografías que rondan los 50
MBytes). Cuando hago B-Uk veo, ahora sin mucho asombro que los
archivos de video se transfieren casi al límite de la red (es una red
de Giga) usando muy poco microprocesador y cuando paso los archivos
chicos la transferencia se hace mucho más lenta y el uso del micro
salta por las nubes. Si esto sucede en un simple traspaso de datos,
imagínate que podría suceder cuando esos datos deben ser procesados.


Después de un largo tiempo probando con pequeños archivos en xml resulta que cuando el numero es ya grande el proceso de copiarlo o moverlos se hace lento y pesado para la aplicación, como me lo habían indicado. Usando SQLite me dio mejor resultado cuando los datos no eran tan grandes, pero cuando la base llego a mas de 10 Megas el proceso de escribir registros en la misma también se hizo muy lento, casi inutilizable, ya que en mi aplicación se ingresan al menos 5 registros por segundo.

Finalmente me he quedado con Postgres para mi aplicación y con tablas particionadas me ha dado un muy buen desempeño.

Gracias por su ayuda y consejos.


Reply to: