Hay quien se pregunta como ve el hombre invisible, o a q huelen las nubes, pero mi duda es más bien friky…
En tu aplicación web, ¿es mejor usar un tipo BLOB o guardar archivos en una carpeta?
Mi mentor me comentó el otro día q el tipo blob para almacenar imágenes o archivos en la base de datos es más eficiente en cuanto a guardar y recuperar archivos en tu aplicación, no tienes q andar comprobando permisos de carpetas, comprobar si existe para mostrarlo, q no exista un archivo con el mismo nombre,… todas las ventajas q tiene el hecho de guardarlo en la BD directamente. Pero, por otro lado, si guardas los archivos en una carpeta en el servidor, puedes aprovechar la caché del navegador, y no sobrecarga tanto las consultas a la BD guardando solo la ruta del archivo en el servidor.
He buscado por la red… pero nadie lo aclara bien (o no he buscado mucho) y, en mi nueva etapa de programadora independiente (sin mi gran mentor al lado) no sé si pasarme al tipo BLOB y olvidar para siempre la carpeta UPLOAD.
Dejo la duda abierta… aunq de momento seguiré con mi carpeta UPLOAD… q no me fio mucho del blob.
Esta cuestión me la tuve que plantear yo hace un par de años también, y opté por el almacenamiento en carpetas…
Tengo que reconocer que la decisión estuvo muy influenciada por mis (pobres) conocimientos y la infraestuctura de base de datos con la que tenía que trabajar (Access, mayormente). Pero si tuviera que hacer lo mismo hoy, no se, creo que seguiría trabajando con archivos y carpetas. Miedo a lo desconocido, probablemente, pero tener mis archivitos pdf en los dvd de copias de seguridad me da cierta sensación de… seguridad.
Aunque probablemente ahora llegará alguien que sepa de verdad y te dirá que almacenes los datos en la base de datos, crezca lo que crezca, que MySQL se lo comerá… No se yo, depende de lo que vaya a crecer esa BD…
En definitiva, uno «a la antigua» por aquí :) Pero no enlazando directamente los archivos, claro, sino «empujandolos» con una aplciación que compruebe permisos. Los archivos no deben ser accesibles directamente desde web, que si nooo…
Y sobre lo del hombre invisible, joé, también tiene su punto de frikerismo, no lo nieges. Buenovale, que no :P
Creo que es una etapa por la que todos acabamos pasando :D
Yo opté por archivos y carpetas por dos motivos, no sobrecargar la base de datos y por la cuestión de los backups, que ocupan más si lo almacenas en la base de datos (y si haces un backup diario o semanal, pues se nota, se nota).
Huh, ya nos contarás por cuál te decidiste :P
vaya…Yo relaciono Blob con una masa gelatinosa, asi que mejor usa carpetas. XD
Besos.
Ark, me has pillado… mis archovs son visibles desde la web… ups :s
Gulph, pues tienes razón… no es lo mismo un backup de 2 megas q de 200 megas… otra razón más para seguir con mis carpetas.
Enami… ahora q lo dices, si se parece una masa gelatinosa… blob… bob esponja quizá??
Que penaaa de dudaa, por Diosss!! Nunca hay verdades absolutas sino simplicidad en el trabajo y decidir qué detalles queremos potenciar en detrimento de otros.
El BLOB es cierto que generará mayor cantidad de transascciones en Base de Datos y aumentará su tamaño, pero ahorrará espacio en disco duro, no importará cómo se llamen los ficheros, ahora se permitirán nombres repetidos para distintos ficheros, se olvida acordarse de las rutas y cómo se han de invocar, no se generarán ficheros «basura» por no borrarse, ya no hay que generar scripts para borrar ficheros o actualizarlos (borrado previo), etc…
De todas formas, para gustos los colores, y lo dice alguien que todavía duda en hacer una cosa u otra.
Por último, ¿qué tienes más; disco duro o base de datos? Si el espacio es similar el BLOB administrará mejor el espacio al no generar «basura». Si el espacio Web es sensiblemente mayor, pues habrá que aprovecharlo.
Feliz Navidad a todos, en especial a la dueña del sitio.