Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-02-2011
peiopirata peiopirata is offline
Registrado
 
Registrado: may 2007
Posts: 3
Poder: 0
peiopirata Va por buen camino
Smile 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.
Responder Con Cita
  #2  
Antiguo 13-02-2011
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
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||
Responder Con Cita
  #3  
Antiguo 14-02-2011
peiopirata peiopirata is offline
Registrado
 
Registrado: may 2007
Posts: 3
Poder: 0
peiopirata Va por buen camino
Thumbs up 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 !!
Responder Con Cita
  #4  
Antiguo 14-02-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.475
Poder: 21
newtron Va camino a la fama
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
Responder Con Cita
  #5  
Antiguo 14-02-2011
jgutti jgutti is offline
Miembro
 
Registrado: may 2003
Posts: 189
Poder: 22
jgutti Va por buen camino
si solo vas realizar consultas a la base de datos te recomiendo utilizar php con mysql o firebrid
saludos
jgutti
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 18:01:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi