Foros del Web » Programando para Internet » PHP »

Debate: Leer directorios VS Consulta Mysql

Estas en el tema de Debate: Leer directorios VS Consulta Mysql en el foro de PHP en Foros del Web. Ayer en una de las reuniones llegó un debate interesante y que me gustaría comentaros para contrastar vuestras opiniones: Problema: Tenemos X usuarios que tienen ...
  #1 (permalink)  
Antiguo 20/05/2014, 03:28
Avatar de clopezp86  
Fecha de Ingreso: junio-2011
Ubicación: Abrera (Barcelona)
Mensajes: 22
Antigüedad: 13 años, 5 meses
Puntos: 4
Debate: Leer directorios VS Consulta Mysql

Ayer en una de las reuniones llegó un debate interesante y que me gustaría comentaros para contrastar vuestras opiniones:

Problema:
Tenemos X usuarios que tienen unas carpetas específicas cuyo nombre está codificado en SHA y MD5, cada carpeta es única y dentro de ella pueden haber más directorios (hasta 5).

Se declararon dos ideas de solución:

Solución A:
Guardar en BD el usuario, carpeta y URL de cada archivo almacenado, relacionándolo con el usuario.

De esta forma se evita que otros usuarios accedan por URL a un directorio ajeno y descarguen o adquieran los archivos del otro usuario sin permiso.


Solución B:
Partimos de la base de que cada carpeta es única e intransferible.
Crear un script para que recorra la carpeta que coincida con el código de seguridad aplicado (SHA y MD5 de un HASH por usuario), devolver al usuario todos los directorios y archivos de esa carpeta madre.


Después de mucho debatir, no llegamos a ningún lado..... básicamente porque cada archivo ha de pasar un control se seguridad que estará almacenado en la BD.
Por ejemplo:
Archivo público = INT (0/1)
Fecha de Caducidad = DATETIME

Por este último dato yo escogí la Opción A, sin embargo mis muchachos me dijeron la siguiente cita:
Cita:
PHP Es más rápido leyendo directorios y subdirectorios que mysqli haciendo una consulta a BD de los archivos que tenga almacenados un usuario en una carpeta.
Pero.... hasta que punto PHP es más rápido que MYSQLi? Hablamos de tiempo real a ojo humano (segundos, minutos)? o tiempo de proceso a nivel máquina(Microsec)?

Un saludo.
  #2 (permalink)  
Antiguo 20/05/2014, 03:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Debate: Leer directorios VS Consulta Mysql

¿Y están conscientes que MYSQLI es una librería de acceso a bases de datos, y NO una base de datos? Est la que se usa para acceder a MySQL, que es el motor de base de datos.
¿Tienen claro que recorrer directorios no lo hace PHP, sino que PHP realiza peticiones al SO, quién es el que hace la tareas?
Esto significa que a cierto nivel el overhead de la lectura de carpetas, es mayor que un acceso a la base.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 20/05/2014 a las 03:50
  #3 (permalink)  
Antiguo 20/05/2014, 04:14
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: Debate: Leer directorios VS Consulta Mysql

Si tienes en mente velocidad... podrías usar NoSQL... busca distintos benchmarks de distintas bd :P
__________________
>> Eleazan's Source
>> @Eleazan
  #4 (permalink)  
Antiguo 20/05/2014, 04:39
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: Debate: Leer directorios VS Consulta Mysql

Cada fichero / carpeta es accedido sólo por 1 usuario? O es posible que varios usuarios accedan a la misma carpeta?
Si el fichero fisico tiene el nombre codificado con SHA,etc, qué se le muestra al usuario, cuando se listan los directorios y ficheros? un SHA? Dónde está el nombre original del fichero?
Para que no se pueda acceder por URL a un fichero, no tiene nada que ver con codificar con SHA las carpetas.Para nada.Si no quieres que se acceda a un fichero por URL, no lo pongas en el arbol web.Tenlo en un árbol de directorios no accesible por web.

PHP más rápido que mysqli? Depende de cientos de factores.Desde el sistema de archivos al que se esté accediendo, cargas y tipo de cargas de las maquinas...Las preguntas del tipo "A es mas rapido que B?", suelen no tener sentido.Variando parámetros que no son ni A ni B, se suele conseguir que cualquiera de las dos sea la más rápida.

Etiquetas: directorios, fecha, mysql, usuarios
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 13:09.