Ver Mensaje Individual
  #2  
Antiguo 17-11-2011
Avatar de mamcx
mamcx mamcx is online now
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Reputación: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Estas pasando de tener una conexión local de minimo 100 MB a una de menos de 1/4 MB y eso optimista.

Aunque todo motor SQL puede accederse remotamente, la verdad es que estan optimizados para acceso en una red local o mejor, directamente.

Lo que puedes hacer:

1- Disminuye la cantidad de registros/datos en cada transaccion. Evita los SELECT * FROM Tabla por SELECT Campo1,CampoN... FROM Tabla WHERE Exactamente lo que quieres. Tambien el uso de procedimientos almacenados, donde mucho del procesamiento se hace en la BD y solo pasas y recibes datos puede ayudar.

2- Usa caches.

Por lo general todo sistema tiene mas tablas de "lookup" que son masomenos estaticas y una pocas transaccionales, que se mueve mucho.

Asi que puedes descargar las tablas mas estaticas y solo tener una conexion "viva" a las transaccionales. Las tablas pueden estar en un servidor firebird embeido local. Asi, tienes 2 conexiones de BD: La Bd de cache local y la de internet. Tambien puede servir el cache en memoria (aun mas rapido, pero los datos deben caber).

Basicamente, una mezcla de lo anterior, es lo maximo que se puede hacer

2a- Por ultimo, contratar un ancho de banda mas alto. Algunas empresas pagan por canales dedicados o planes de internet mas elevados para compensar por los sistemas C/S que no estan optimizados a internet.

3- Migrar a un framework N-Tier.

Si el proyecto lo amerita, migrarse a DataSnap (Tienes que usar Delphi XE2), RemObjects o similar es lo mas ideal.

En el caso de RemObjects, hay una opcion buena y gratuita:

http://www.remobjects.com/da/relativity.aspx

Ese es un servidor N-Tier que te da conectividad remota a cualquier motor de BD, firebird incluido. Utiliza un sistema que es MUY eficiente en sus comunicaciones, y te permite tirar SQL tal como lo conoces.

La parte mas dificil la consigues "gratis". La parte complicada es que debes crear una libreria de acceso usando REST o oDATA. Bueno, es ligeramente dificil.
__________________
El malabarista.
Responder Con Cita