SQL - Audio en Base de datos

 
Vista:

Audio en Base de datos

Publicado por Hubert (98 intervenciones) el 14/08/2010 19:55:44
Buenas Grupo,
Quisiera solicitarles una opinión.
Mi aplicación trabaja con bases de datos descentralizada con centralización.
Me solicitan ahora almacenar conversaciones entre los usuarios y clientes.
La idea es crear tantos archivos de sonido por conversación empaquetado MP3 en cada PC y luego enviarla al servidor de agencia y luego desde ahí pasarlo hacia un servidor central para luego realizar consultas.

El tamaño de los archivos tiene la siguiente proporción.
Un segundo de audio ocupa 1Kb,
Un minuto es 60 Kb
10 minutos es 600Kb
20 minutos es 1,200Kb (1.2 Mb)

Sé que los motores de Base de datos, también pueden almacenar estos tipos de archivos.
Pregunta.
A.- Es aconsejable que estos archivos estén dentro de la Base de Datos? Ó
B.- Los almaceno en una carpeta como archivos y en la Base de datos guardo los punteros para ubicar los archivos?

Estimo que cada mes se crearán 180,000 archivos que ocuparían 126.5 Gb de HD.

Agradeceré el consejo de los expertos en Base de Datos. De tener otra alternativa bienvenido sea.

Saludos.
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

RE:Audio en Base de datos

Publicado por Jose Antonio (1 intervención) el 16/08/2010 10:31:28
Hola,

Personalmente no lo haría, porque te va a comer el espacio tontamente.
Dejaría un string en el que se indica la ruta que tiene el fichero.
Cuando quieras obtener algun mp3 sacas el path y accedes a el mediante ftp o como te lo hayas planteado.

Saludos,

josean.ciudad.soto arroba gmail.com
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
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

RE:Audio en Base de datos

Publicado por Leonardo Josue (1173 intervenciones) el 16/08/2010 17:45:10
Buenos días Hubert:

Ya José Antonio de dió una muy buena razón para utilizar archivos separados de la BD que es el espacio de Disco, aunque difiero cuando dice que se ocupa el espacio "tontamente".

Te puedo dar algunas razones también muy válidas para que almacenes los audios en la BD:

MANEJO DE RESPALDOS:
Cuando realizes tus respaldos programados de la BD la información sigue completa. Sin embargo, si almacenas los audios en archivos separados, entonces al momento de respaldar tu bd también deberás respaldar estos archivos por separados. De requerir una restauración de la BD deberás tener disponibles ambos respaldos.

INTEGRIDAD DE LA INFORMACIÓN:
Si utilizas archivos separados deberás tener cuidado de hacer uso de transacciones, así si por ejemplo eliminas un registro de la BD entonces deberás también eliminar el audio correspondiente. Si alguno de los dos procesos falla entonces podrías hacer rollback en la BD, pero en los archivos??? la implementación deberá ser manual.

ESQUEMAS DE SEGURIDAD: También relacionado con la integridad de la información. Si almacenas la información en la BD pues manejas de manera implícita un esquema de seguridad, en donde sólo ven la información aquellos usuarios a los que les otorgas permisos. Con los archivos separados deberás también aplicar los esquemas de seguridad que tengas implementados, para evitar que personas no autorizadas puedan tener acceso a los archivos de audio, aunque no tengan acceso al resto de la información de la bd.

DISPONIBILIDAD DE LOS SERVICIOS. José Antonio menciona en su post que podrías por ejemplo acceder a los archivos mediante un servicio de FTP, por lo tanto tanto el servicio de BD como el servicio de FTP tendrían que estar funcionando siempre, si alguno de los dos falla, pues no vas a poder consultar la información.

Y la lista contiene un largo excétera, con razones buenas y malas para cada una de las dos propuestas y ambas son muy válidas, ninguna es mejor que la otra, pero debes analizar muy bien la situación en la que te encuentras, para poder tomar la desición correcta. Espero que este post te sea de utilidad.

Saludos.
Leo.
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

RE:Audio en Base de datos

Publicado por Hubert (98 intervenciones) el 16/08/2010 19:38:41
Gracias amigos.
Las consideraciones que indican lo tengo claro.

Pero, Quería experiencias de alguién que lo tenia implementado.

Saludos desde Perú.
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
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

RE:Audio en Base de datos

Publicado por Leonardo Josue (1173 intervenciones) el 16/08/2010 20:56:38
Hola de nuevo Hubert, te comento que en mi caso he tenido la oportunidad de trabajar con ambos esquemas, es decir, teniendo que almacenar archivos dentro de la bd así como manejar también los archivos de forma separada.

Por ejemplo, se eligió el esquema de archivos separados en uno de los sistemas porque el tamaño de los archivos que se pretendían almacenar variaban demaciado (como puede ser tu caso). El usuario "subía" al servidor los archivos y personal en otra localidad procesaba estos mismos archivos a través del sistema. Se le asignaba un identificador único a cada archivo y en una tabla de la BD se almacenaba información del mismo (quién lo había subido, la fecha, el tipo del archivo, el nombre original, etc.).

La información que se manejaba en estos archivos no era tan crítica, si por alguna razón alguno de los archivos se dañaba o se perdía, pues simplemente se solicitaba que se volviera a cargar.

Por otro lado, también me tocó trabajar con un sistema en donde teníamos que almacenar archivos directamente en la base de datos. en este caso se trataba de archivos .Zip con información confidencial. Justamente por la parte de la confidencialidad de la información teníamos que implementar un sistema de seguridad más avanzado por lo que dejamos la carga de trabajo directamente al manejador de base de datos, mediante la utilización de roles y permisos. El administrador del sistema generaba el archivo zip y lo guardaba en una tabla de la bd. Mediante un módulo del sistema un usuario se autenticaba y podía descargar a su equipo este archivo.

Es por eso que te comentaba que todo depende de lo que necesites.

Saludos
Leo.
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

RE:Audio en Base de datos

Publicado por Hubert (2 intervenciones) el 17/08/2010 23:19:14
Gracias Leo.
Me inclino por el esquema de almacenamiento de los audios en carpetas y guardando los punteros en la Base de datos.

Un abrazo,
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