Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-11-2005
ferysil2003 ferysil2003 is offline
Miembro
 
Registrado: abr 2004
Posts: 26
Poder: 0
ferysil2003 Va por buen camino
Conectar directamente una aplicacion a través de adsl como si fuese un red local no es viable ya que como sabreis cuando nos hablan de velocidad adsl de 512k o 1Mb nos estan hablando de velocidad de descarga, sin embargo la de subida en menor, sino recuerdo mal sería a 128k y 256k respectivamente, por lo tanto el cliente puede tener la velocidad de 1mb pero donde reside la base de datos, como es la que sirve los datos su velocidad máxima será de 128k o de 256k. Recordar que estas velocidades son las teoricas de adsl, en la practica son menores. Ademas hay que tener en cuenta que las velocidades son en bits, por lo tanto si lo pasamos a bytes que es lo que nos interesa tendremos velocidades de subida de 16 bytes o 32 bytes por segundo. Si uno hace una consulta por ejemplo que devuelva 20 registros en un dbgrid y cada registro tuviese 100 bytes de datos estaríamos hablando de 2000 bytes de descaga que nos devuelve la consulta. Esto en red local es instantaneo pero con adsl tardaría 125 o 62,5 segundos respectivamente. Es decir, no es viable.
Solución: Poner un servidor de terminales, es decir, poner un servidor por ejemplo con windows 2003 server con la opción de terminal server, y los puestos con xp profesional o w2000 profesional. En esta solución habría que tener en cuenta bien el tema de licencias y además saber que esta solucion lo que hace es que la aplicacion se ejecuta en el servidor por cada terminal conectado, y lo que circula por la adsl son realmente pantallazos. Los colores de conexión tenemos que saber que son a 256 colores para acelerar la descarga, pero es suficiente para la mayor parte de las aplicaciones. Tenemos que tener en cuenta el numero de usuarios que se conectarán a la vez para poner un servidor adecuado en velocidad y memoria ram suficiente para que no se colapse. Este tipo de instalaciones las he hecho con frecuencia y funcionan bien y rápido, lo único es el coste, ya que yo recomiendo poner un sevidor de marca en condiciones, y ya sabemos lo que supone esto.
Responder Con Cita
  #2  
Antiguo 11-11-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.073
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ferysil2003
Conectar directamente una aplicacion a través de adsl como si fuese un red local no es viable ya que como sabreis cuando nos hablan de velocidad adsl de 512k o 1Mb nos estan hablando de velocidad de descarga, sin embargo la de subida en menor, sino recuerdo mal sería a 128k y 256k respectivamente, por lo tanto el cliente puede tener la velocidad de 1mb pero donde reside la base de datos, como es la que sirve los datos su velocidad máxima será de 128k o de 256k. Recordar que estas velocidades son las teoricas de adsl, en la practica son menores. Ademas hay que tener en cuenta que las velocidades son en bits, por lo tanto si lo pasamos a bytes que es lo que nos interesa tendremos velocidades de subida de 16 bytes o 32 bytes por segundo. Si uno hace una consulta por ejemplo que devuelva 20 registros en un dbgrid y cada registro tuviese 100 bytes de datos estaríamos hablando de 2000 bytes de descaga que nos devuelve la consulta. Esto en red local es instantaneo pero con adsl tardaría 125 o 62,5 segundos respectivamente. Es decir, no es viable.
Bueno, un pequeño detalle: al ser bits hay que dividir entre 8 para que salgan bytes, o kbits a kbytes, o sea, 256 kbits= 32 kbytes/seg y no 32 bytes/seg


Cita:
Empezado por ferysil2003
Solución: Poner un servidor de terminales, es decir, poner un servidor por ejemplo con windows 2003 server con la opción de terminal server, y los puestos con xp profesional o w2000 profesional. En esta solución habría que tener en cuenta bien el tema de licencias y además saber que esta solucion lo que hace es que la aplicacion se ejecuta en el servidor por cada terminal conectado, y lo que circula por la adsl son realmente pantallazos. Los colores de conexión tenemos que saber que son a 256 colores para acelerar la descarga, pero es suficiente para la mayor parte de las aplicaciones. Tenemos que tener en cuenta el numero de usuarios que se conectarán a la vez para poner un servidor adecuado en velocidad y memoria ram suficiente para que no se colapse. Este tipo de instalaciones las he hecho con frecuencia y funcionan bien y rápido, lo único es el coste, ya que yo recomiendo poner un sevidor de marca en condiciones, y ya sabemos lo que supone esto.
Esta solución podría valer, en todo caso, si fuese a ejecutar un programa windows por red, pero si va a acceder sólo a datos (base de datos, cliente/servidor), no hace falta para nada, lo ideal es un servidor de bases de datos en linux (libre, sin licencias, mejor rendimiento, etc)
Responder Con Cita
  #3  
Antiguo 11-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Esplico un poco de como he pensado trabajar para solucionar dicho problem.

Con un servidor d epalicaciones y en los clientes se replic al base de datos pero solo lo necesario.

cuando un cleinte hace un insercion o modificacion o borrado le envia al servidor la informacion antes de realizar la accion localmente el servidor realiza la peticion si esta fallo en via un codigo d erro o un mensaje o x pero algo que diga qu efallo si no fallo, se incremente una variable un campo un generador que indica que hubo algun cambio en dicha tabla y lo envia al cliente, como todo funciono perfecto el cleinte termina d egurdar sus datos y si es necesario lo baj aa discos por si un apagon o un error.

Uan ve¿z qu eel servidor realiza la accion exitosa le envia los cambios al resto de los cleinte que esten conectados osea el registro en caso de insercion o modificacion y si es borrado solo envia la clave unica y en todos los casos tambien envia el valor de la variable o genrador que indica los cambios de la tabla dicha accion la reciven los cleinte sque esten conectados y hacen los indiqeue la accion;

El campo d ecambio lo lame de aui en adelante GenTablaChg
Tabla es el nombre de la tabla.

Ahora vemso el meoyo d el acosa y como se incrementa al velocidad.

Vamos un paso atras. Cuando el cliente se conecta pide todos lso cambios ocurridos en las tablas que el debe tener locales.

¿Como lo hace?. Primero envia todos pide todos los GenTablaChg y los copara con los que posee local mente en el caso qe se alla traido la tabla sino debe traerse la completa.

Si en algun moemento se ha traido ala tabla entonces compra todos los GenTablaChg que posee local mente y si alguno es mayor que lo que el tiene indica que dicha tabal cambio si no quiere decir que su tabal esta iguala la del servidor.

Si la algun GenTablaChg es mayor que su correspondiente localmente entonces este envia los campos primarios(en mi caso yo uso un id unico aparte de los cambios primarios para solo envia los id).

Ha se me habia pasadoo que cada tabal tiene un campo de la ultima modificacion

Entonces envio lo ids ejm.1, 23, 45, 67 mas la fecha de la ultima modificacion y en el servidor compara todos loa ides enviados con lo side de la tabla.

Octeniendo los registros insertados
Se compara los ids que son enviados y no esten el servidor y esto te devuelve lso insetados.

Octeniendo los registros modificados
Se hace los mismo que en el caso anterior pero agrgando la condicion que la fecha enviada sea meyor que l afecha del los del servidor, com esto octenemos los modificados.

Y fianalmemte los borrados
Se compara los id que este en lo senviados y no esten el servidor esto te da los borrados.

Luego armas tu dataset con un acampo qu eindique la accion arealizar. Bueno teniendo le cuenta que para los borrdso solo envias los id ye le res¿to d elos campos son nulos.

LA lelgar al cleinte el cleinmte verifica la accion si es insertar lso inseta en su data local si el modificacio nmodifica lso datos y si es borrado borra con lo sides enviados y baja a disco por si acaso.

Espero que esto te sirva.

Mira lo que si te digo es que hay que echar codigo trancao. Por que es trabajoso.

Ha te digo que estoy haciendo una aplicaion d este tipo con renobjects y clein datset y uso dbaware.

Y no he roto las reglas de uan aplicaion multicapa la que las capas las uso entre el servidor y los cleintes y no en el los cleinte sy la data local.

Aunque puedes usar las capas tabbien en los clientes. Pero ya con le trbajo que daria hacer la reacionentre el cleinte y el servidor es aceptable usar dbaware en los cleintes. ¿Ho no?.

Ha una cosa mas por favor den una opinion algo por el estilo par asaber si ahan leido el post.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #4  
Antiguo 11-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Mira para hacer replicaiones.

Lea acerca de un componete que se llama copycat.
Que no lo he visto ni usado solo me comento mi compañero de trabjo
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #5  
Antiguo 11-11-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.073
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
rastafarey, creo que cuando limpiaste el teclado, lo montaste con algunas teclas cambiadas de sitio

No te molestes, es una broma, sin ánimo de ofender. Ya imagino que has tecleado rápido y no te has fijado mucho en la pantalla.

Saluditos.
Responder Con Cita
  #6  
Antiguo 12-11-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Checa Esto....

Si Tiens en el servidor algún WinServer usa en los clientes el Terminal Server, con esto trabajas como si estuvieses en el servidor, en realidad es así

Saludos....
Responder Con Cita
  #7  
Antiguo 14-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Si asi fue normal mente tecleo en un editor corrijo y luego envio.
Pero esta vez estaba un poco apurado.

Ha el ejemplo qu eplantee ya lo monte con remobject tkbmmen y al parecer funciona bien. Pero no tengo como probarlo a nivel wan.

Si a alguien le interesa .
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #8  
Antiguo 14-11-2005
ferysil2003 ferysil2003 is offline
Miembro
 
Registrado: abr 2004
Posts: 26
Poder: 0
ferysil2003 Va por buen camino
Cierto, lamento mi error, no se en que estaba pensando, si tenemos una velocidad de subida en la conexion del servidor de la base de datos de 128k significa que nos puede servir como máximo 16000 bytes por segundo, y si es de 256k nos serviria como máximo 32000 bytes por segundo, aun así, o se optimiza mucho el sistema de consultas sobre la base de datos o el manejo de la aplicacion sería muy lenta sobre todo si trabajan muchos usuarios al tiempo. Pienso que terminal server o su superior tanto en prestaciones como en coste Citrix sería la mejor solucion. Todo está en evaluar concienzudamente la cantidad de datos que devolverian las consultar de nuestra aplicacion y así estimar tiempos de respuesta.
Responder Con Cita
  #9  
Antiguo 14-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Te recomiendo hacer conexiones directas a al abase dedatos en lan y para salir qu ela comunicacion se establesaca entre servidores y no con clientes
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
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


La franja horaria es GMT +2. Ahora son las 07:17:45.


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