Ver Mensaje Individual
  #2  
Antiguo 08-11-2019
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Hacer una conexión por red local o a la nube es la MISMA COSA. Ambas usan el mismo protocolo (TCP/IP). Mientras requiere mas cuidado el exponer la BD en un servidor de internet, tampoco es descabellado de hacer y los RDBMS tienen todos los medios para hacerlo de forma segura* (junto con un firewall al frente de la BD).

Si tienes problemas de desempeño es porque tenias ese problema desde siempre. Solo que al poner la BD "mas lejos" se hace mas evidente. Como resolverlo es lo mismo:
  • Revisa que tu arquitectura/lógica sea correcta
  • Solo transfiere los datos mínimos necesarios
  • Intenta agrupar multiples pasos ("batchs") en vez de mandar muy poquito muy seguido
  • Haz mediciones de desempeño para saber donde, verdaderamente, tienes los problemas y los corriges
  • Implementa monitoreo (minimo: Logging)

Todo esto? Es EXACTAMENTE lo que se hace en una app "en la nube" de una u otra forma. Hay quienes creen que es obligatorio de hacer todo un traspaso a protocolos REST, JSON, y todo eso. La realidad es que eso hace todo mas lento que una conexión directa (obviamente!) y se debe hacer por otras buenas razones, pero no hay NADA que diga que TIENES QUE. Solo si tus requerimientos lo ameritan.

P.D 1*: Los RDBMS modernos admiten conexiones cifradas y tienen controles de seguridad que son muy desaprovechados...
P.D 2: Un problema puede surgir si usas tecnología obsoleta, como tablas paradox, o componentes/software nada óptimos, pero eso es tangencial...
__________________
El malabarista.

Última edición por mamcx fecha: 08-11-2019 a las 15:11:12.
Responder Con Cita