Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: yoca90 en 29 Junio 2015, 13:19 pm



Título: Solucion BD en empresa
Publicado por: yoca90 en 29 Junio 2015, 13:19 pm
Buenas.
Quisiera pediros recomendacion acerca de una solucion que necesitamos en la empresa para gestionar recursos.
Os comento: La idea es que todos los trabajadores puedan poner notas o registros de material necesario desde smartphones, ademas de que sea tambien accesible para poner encuestas y que cada usuario tenga su propio login.
El tema es que un empleado pueda poner un registro del material y que el encargado del almacen lo pueda tener todo controlado, ademas de al ser posible se manden archivos adjuntos.

Yo habia pensado en la opcion de FileMaker, que tendria opcion de montarlo en web y seria accesible desde el smartphone.

Espero vuestros comentarios a ver que opinais, un saludo.


Título: Re: Solucion BD en empresa
Publicado por: WHK en 29 Junio 2015, 15:55 pm
Esta respuesta dependerá mucho de la cantidad de usuarios que manejará tu app, si la cantidad excede los 5 mil usuarios en linea de manera simultanea necesitas una base de datos oracle y aplicaciones de codigo nativo sin framework para android e ios, si la empresa es una sola entonces dependerá de la marca y modelo del celular. En este sentido hablamos de millones de registros. Si es así entonces necesitarás mas de un servidor y balanceo de carga dependiendo del volumen aproximado de usuarios. Del lado del servidor necesitarás programar en java, c# MVC 5 o superior o python sobre un servidor Redhat.

Si no lo usarán tantos usuarios entonces bastará con una base de datos MySQL si te manejas bien o si no postgre sql o si no mongodb dependiendo de las habilidades de tu programador. Del lado del servidor podrás usar php con codeigniter o python, rubi on rails y un servidor Centos 6 o 7.

En ambas situaciones necesitarás hacer una base de datos relacional desnormalizada en un servidor vps o dedicado.

Los archivos jamás los almacenes en la base de datos o aumentarás significativamente la carga en el servidor y no podrás sustentar tantos usuarios, en ese caso necesitarás un NAS o un CDN, esto quiere decir que los archivos deben ser almacenados en un directorio en un servidor y desde la base de datos guardar el id de ese archivo o nombre del archivo nada mas, te recomiendo hacer una estructura de hashses, por ejemplo facebook hace un tiempo puso un microtime o time unix stamp como nombre de archivos en las imagenes mas un numero al azar para prevenir repeticiones , luego tomas este valor y lo guardas en tu base de datos y le adjuntas el nombre original en otra columna de la misma fila en la tabla, jamás les pongas los nombres originales a los archivos o tendrás problemas de seguridad.

Si es una aplicación para una empresa que maneje datos confidenciales entonces no le dejes el trabajo a alguien que está recien comenzando a aprender, si es un trabajo personal para ti que quieres vender entonces puedes usar a quien quieras pero si es para tu empresa entonces no.

Jamás des datos reales para realizar la aplicación, siempre usa valores de prueba. Esto es parte de la privacidad de datos y confidencialidad de tus productos, carteras y/o usuarios.

Eso es todo lo que te puedo recomendar.

Saludos.