Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

¿miles de archivos en un solo directorio, o en cientos?

Estas en el tema de ¿miles de archivos en un solo directorio, o en cientos? en el foro de Mysql en Foros del Web. supongamos las imagenes de una tienda con miles de productos... y cada uno con 10 imagenes + miniaturas... ¿qué es mas eficiente y veloz: todas ...
  #1 (permalink)  
Antiguo 19/11/2011, 11:54
 
Fecha de Ingreso: junio-2003
Ubicación: madrid
Mensajes: 342
Antigüedad: 20 años, 10 meses
Puntos: 3
¿miles de archivos en un solo directorio, o en cientos?

supongamos las imagenes de una tienda con miles de productos... y cada uno con 10 imagenes + miniaturas...
¿qué es mas eficiente y veloz: todas las imagenes en un mismo directorio o mejor dividirlas por secciones, subsecciones y productos, incluso dentro del producto: normales, thumbnails, y grandes...

no se que es mas eficiente tanto para la base de datos como del servidor... en cada pedido que se le haga buscar en un solo directorio entre miles de archivos o buscar en jerarquías entre cientos de directorios..

Tal vez el tema este superado y no tiene demasiada importancia pero tengo esta duda... ya que cuando empiezas a gestionar miles de archivos parece que la cosa se enlentece...
  #2 (permalink)  
Antiguo 19/11/2011, 13:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ¿miles de archivos en un solo directorio, o en cientos?

Es un tema que se aleja completamente de lo que trata este foro, o incluso hasta los de programación, que son los que en realidad se dedican un poco más a la administración de estas cosas.
De todos modos lo que puedo decir es más desde mi experiencia en los catorce años que dediqué al diseño gráfico, para lo cual debí enfrentar ese tipo de problemas, luedo de desarrollar decenas de miles de archivos, todos los cuales debí también mantener en el servidor.
La cosa es así: Siempre es preferible un sistema de almacenamiento organizado en diferentes carpetas, las cuales debes organizar en base a algún criterio que te sirva a ti. Pude ser temático, alfabético, o bien por rubros, etc. Lo importante es que el esquema se desarrolle desde lo más general a lo más detallado, hasta un nivel de detalle eficiente.
Por eficiente la idea es que sólo generes subniveles cuando dentro de un mismo nivel existan muchos archivos y al mismo tiempo pueda realizarse una subclasificación. Ten en cuenta que atomizar demasiado puede ser contraproducente.
¿Se entiende la idea?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 19/11/2011, 14:30
 
Fecha de Ingreso: junio-2003
Ubicación: madrid
Mensajes: 342
Antigüedad: 20 años, 10 meses
Puntos: 3
Respuesta: ¿miles de archivos en un solo directorio, o en cientos?

tal vez debí ponerlo en servidores web...
le encontraba relacion con la velocidad de las bases de datos accediendo a un archivo...

ok por lo que dices es como pensaba, no es lo mismo buscar un archivo entre 10.000 , a tener 100 directorios y en cada uno de ellos 100 archivos...

si suponemos que le pedimos al servidor el ultimo archivo en el primer caso tendría que recorrer 9.999 archivos hasta llegar a él archivo...
en el segundo caso recorrería los 100 directorios +99 archivos= 199 directorios y archivos y recorridos...

almenos eso me dice el sentido comun , pero que muchas veces no sirve de nada..
  #4 (permalink)  
Antiguo 19/11/2011, 15:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ¿miles de archivos en un solo directorio, o en cientos?

Cita:
le encontraba relacion con la velocidad de las bases de datos accediendo a un archivo...
Esa es parte de tu confusión: Las bases de datos no acceden a los archivos, sólo almacenan las rutas, pero jamás acceden directamente a los archivos. Esa es tarea de los sistemas operativos y los servidores Web que operan sobre ellos (el filesystem es parte del SO)
Cita:
ok por lo que dices es como pensaba, no es lo mismo buscar un archivo entre 10.000 , a tener 100 directorios y en cada uno de ellos 100 archivos...
En realidad hay métodos específicos de los SO que los lenguajes de programación pueden usar para realizar esa tarea (VB.Net, por ejemplo, tiene un único método para resolver el barrido de todo el arbol de carpetas); además, si tienes la ruta, no necesitas leer nada, es acceso directo; por eso se almacenan en las tablas los nombres de los archivos con su ruta relativa.
En ese contexto, no hay búsquedas en el sentido estricto de lo que piensas, los SO tienen sistemas de indexación para optimizar su trabajo, y que también almacenan las peticiones más habituales, por lo que en definitiva los accesos se aceleran.
En definitiva, el objetivo de crear un sistema de carpetas es crear un método de almacenamiento ordenado, comprensible y fácil de mantener, muchas veces ajustado a la temática que el site maneja para simplificar el sitio donde el archivo residirá. Estos esquemas de árbol, además, permiten que la longitud de las rutas sea corta, ya que rara vez llegan a tener más de cinco niveles, cosa que también ayuda a los sistemas de indexación.
Por lo demás, no se trata de un problema que te vaya a afectar demasiado, por lo que no creo que te debas preocupar más allá de lo aconsejable.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: directorio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:07.