FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda con proyecto
Hola Amigos.
Soy usuario de delphi 6 desde hace ya algunos años. Todo lo que he realizado han sido programas bastante simples que se ejecutaban dentro de una red local. Ahora, la empresa en la que estoy me manda realizar un programa para hacer consultas (basicamente) con en que tendre a mas de 5000 usuarios conectados simultaneamente. El programa lo distribuiria a cada usuario via internet ( desde la pagina web de la empresa). El servidor dedicado lo he contratado a un isp , y dispongo de una conexion y de un ancho de banda bastante aceptables. Mis dudas son las siguientes: Me recomendas que el programa sea multicapa ? Que base de datos utilizariais ? En principio me decantaria por mysql y zeos. Encriptaria los datos a la base de datos y tambien utilizaria ssl. Seria esto seguro ? Creeis que el programa ira lento con tantos usuarios conectadoas al mismo tiempo ? Que me recomendais ? Alguien con experiencia en algo parecido ? un saludo y agradecer a este gran foro todo lo que he aprendido a lo largo de los años. |
#2
|
||||
|
||||
Zeos y MySQL son una buena opción aunque seguramente también te van a recomendar FB, cuestión cual domines y conozcas mejor.
En realidad lo que vas a hacer es un programa cliente que le tirará consultas al servidor MySQL y este a su vez le va a devolver los resultados para que los maneje como requiera. La cuestión de los usuarios no es crítica pues una cosa es que estén todos conectados y otra cuantos están ejecutando consultas en un momento dado. Todos los motores están preparados para mantener este nivel de exigencia, solo hay que considerar el hardware sobre el que vas a montar el servidor, sobre todo espacio en disco y memoria disponible. Hacerlo mediante capas te resultará bastante más laborioso que interactuar directamente con el servidor de BD, pero también tiene algunas ventajas. Ahora bien, solo falta la encriptación, puedes usar en el caso de MySQL SSL, pero tienes que tener en cuenta que el costo será mayor consumo de recursos del CPU en el servidor y consultas mucho más lentas. En esos casos donde se requiere forzosamente la encriptación normalmente se recure a servidores con más de un cpu o bien "clusterizados", pues la carga de trabajo se incrementa notablemente. Una alternativa es utilizar túneles VPN pero entonces tenemos la limitante del ancho de banda de los cientes y del propio servidor además de que hablando de 5 mil usuarios simultáneos pues veo díficil poder usar este esquema. Considero que tu problema en donde tienes que trabajar mas es en el detalle de la encriptación ¿Es realmente necesaria?,¿Los datos que van a viajar por la red, realmente son tan importantes o cruciales para el cliente?. ¿Que probabilidad real hay de que alguien intercepte y utilice esa información? A veces los clientes tienen un poco de paranoía y piensan hasta un listado de nombres es vital para su organización y solicitan infinidad de candados (muchos sin sentido o sacados de alguna película) que al final les infla mucho el costo del producto y no obtienen prácticamente ningún beneficio. Hay muchas formas de darle mayor seguridad a una conexión de este tipo (utilizar puertos aleatorios, firewalls, etc.) además de la encriptación tal cual. Finalmente no mencionas si los 5 mil usuarios van a esar dispersos como usuarios "individuales" o en realidad se trata de unir 4 o 5 oficinas en donde trabajan los 5000 usuarios, ahi si cambia mucho el enfoque de como poder darle solución, porque puedes hacer interconectar mediante enlace dedicado todas las oficinas y entonces tu aplicación funciona como si estuviera en una red local y no tienes que encriptar nada.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#3
|
|||
|
|||
Proyecto
Hola Azidrain,
Enprimer lugar darte las gracias por tu rapida y currada respuesta. Asi da gusto formar parte de una comunidad !! Los usuarios que se conectaran estaran dispersos por todo el mundo y estaran ejecutando consultas a la vez. En cuanto a la encriptacion de mysql por ssl, el servidor dedicado que tenemos contratado tiene 8 Gb de Ram y 4 nucleos ( espero que sea suficiente pero ya veremos una vez comenzado ) y 500 Gb de disco duro. Utilizare Zeos con Mysql estoy totalmente decidido, pero como siempre a la hora de afrontar un nuevo proyecto me surgen alguna dudas. Se nota mucho el bajon de rendimiento cuando se guardan muchos ficheros en los campos BLOB de mysql ? En principio, la base de datos que se creara tendra bastantes GBytes y no se si sera mejor guardar los ficheros ( No mas de 1 MB cada uno ) en la BD o de lo contrario guardar el path. Alguien ha tenido Buena/ mala esperiencia guardando ficheros en Mysql ? Para mi seria lo ideal poder hacerlo todo en BD pero no quiero condicionar el rendimiento de las consultas. un saludo y muchas gracias otra vez a este foro !! |
#4
|
||||
|
||||
Hola.
Aunque no tengo experiencia con mysql he hecho pruebas con otras bases de datos guardando imágenes en campos blob y el rendimiento bajaba notablemente, al final opté por guardar el path del archivo y los archivos en una carpeta, de todas formas imagino que eso es una prueba que la puedes hacer tú mismo sin muchos problemas. Yo particularmente te recomendaría hacerlo de esa manera aunque imagino que para gustos, colores. Saludos |
#5
|
|||
|
|||
si solo vas realizar consultas a la base de datos te recomiendo utilizar php con mysql o firebrid
saludos jgutti |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
!!Ayuda con proyecto Programación | Reinaldo08 | C++ Builder | 5 | 10-10-2008 00:01:50 |
Ayuda con Proyecto de Estudios | KaSCuDo | Varios | 6 | 13-12-2007 16:04:46 |
Ayuda con proyecto cientifico | oregon | Varios | 43 | 21-06-2007 08:00:12 |
necesito ayuda en un proyecto | estrella135 | Varios | 2 | 01-02-2007 16:09:39 |
ayuda proyecto | alex_jf | Varios | 5 | 29-04-2006 01:43:48 |
|