Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-11-2019
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 18
darkbits Va por buen camino
cual es la mejor forma de conectar mi aplicacion a la nube

un saludo al club

tengo una aplicacion que funciona bien de escritorio a MySql por LAN me pidieron llevar la DB a la WAN o NUBE como le llaman ahora.
ahi comienza mis problemas tarda en extraer modificar o se cuelga la aplicación.
no debe ser la forma correcta de conectarme o hacer las sql.

por favor si alguien puede enviarme un ejemplo de como trabajar con DB en la nube de la forma correcta porque no tengo la mínima idea lo único que quiero es ver la conexion hacer un select o modificar y de ahi yo le continuo.
__________________
Gracias por su coloración club delphi

darkbits ;)
Responder Con Cita
  #2  
Antiguo 08-11-2019
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 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
  #3  
Antiguo 08-11-2019
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 18
darkbits Va por buen camino
estoy trabajando con una base de datos de MariaDB y en Delphi estoy utilizando FireDac y UniDac de trabajar llega a trabajar solo quiero mejorar el tiempo de respuesta.

vi una aplicación delphi que extrae 2000 lineas en un grid en 5 segundos. el mio tarda mas de 1 minuto o mas o se cuelga.
entonces dije debe haber alguna forma de mejorarlo
__________________
Gracias por su coloración club delphi

darkbits ;)
Responder Con Cita
  #4  
Antiguo 08-11-2019
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 21
gatosoft Va camino a la fama
Tiene que ser asi, como dice mamcx tu servidor está mas lejos y ahora influyen mas variables...

Auqnue mamcx dice que no es necesario pensar en servicios, creo que eso se lo que debes ir haciendo, "poner tu aplicación en la nube con Delphi", no es solo poner mas lejos el servidor de datos, es un cambio de paradigma y arquitectura...

Uno de los grandes problemasque tiene delphi es que nos hace dependientes de los datatsets y sus eventos, la facilidad de hacer un CRUD con insert, edit, delete... y con esto se nos hace mas facil aun mezclar la logica del negocio con la GUI... el problema viene cuando tenemos que separar estos elementos para llevarlos a servidores distintos.

Una opción relativamente sencilla es implementar paginación en tus programas... una consulta puede traer 2000 registros pero tu le das al usuario la opción de revisarlos por grupos (de a 10 o 20), filtrarlos o hacer una busqueda específica.

Saludo,
Responder Con Cita
  #5  
Antiguo 08-11-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por darkbits Ver Mensaje
estoy trabajando con una base de datos de MariaDB y en Delphi estoy utilizando FireDac y UniDac de trabajar llega a trabajar solo quiero mejorar el tiempo de respuesta.
vi una aplicación delphi que extrae 2000 lineas en un grid en 5 segundos. el mio tarda mas de 1 minuto o mas o se cuelga.
entonces dije debe haber alguna forma de mejorarlo
También he usado en algún proyecto esos controladores con esa base de datos y funcionaba normal, no había diferencia con una local.
De primera hora se tuvo en cuenta no hacer burradas como traerse todos los registros para que el usuaro escoja uno, ni hacer select *, etc.
Así que cuando lo conectamos a un BD en un hosting externo, iba igual que con el servidor local.
Responder Con Cita
  #6  
Antiguo 08-11-2019
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por darkbits Ver Mensaje
vi una aplicación delphi que extrae 2000 lineas en un grid en 5 segundos.
2000 lineas no me parece mucho. Hay algo mas que influye pa que se tarde un minuto.

Nota: Uno puede hacer un calculo somero muy simple: Mira que tan rapida es la tasa de transferencia de la conexion de internet, y eso es lo que puedes transferir en un solo "golpe" de forma eficiente. Comprimiendo puedes pasar aun mas datos.
__________________
El malabarista.
Responder Con Cita
  #7  
Antiguo 09-11-2019
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Companero mamcx

Haz mediciones de desempeño para saber donde, verdaderamente, tienes los problemas y los corriges
Implementa monitoreo (minimo: Logging)

me podrias explicar como puedo aplicar estas 2 rexomendaciones para revisar mi aplicacion en delphi y firebird

Gracias por tu tiempo
__________________
IVAND
Responder Con Cita
  #8  
Antiguo 10-11-2019
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Si eres tan amable disculpa si el msm anterior sonaba un poco grosero muchas gracias
__________________
IVAND
Responder Con Cita
  #9  
Antiguo 10-11-2019
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Usa un componente de logging como https://github.com/danieleteti/loggerpro.

Con respecto a las mediciones, la mas simple es poner timers alrededor de donde parece lento. O usas los logs (que te muestran la fecha/hora) para derivar esa info.

La forma sofisticada es un profiler:

https://stackoverflow.com/questions/...rofiling-tools
__________________
El malabarista.
Responder Con Cita
  #10  
Antiguo 12-11-2019
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
¿y si utilizas un cliente MariaDB o similar para hacer el Select a tu base de datos en la nube también demora 1 minuto?. Si al utilizar un cliente también toma bastante tiempo entonces el problema no es la aplicación sino el servidor o la base de datos. Es posible que falten indices o que el servidor donde se está ejecutando la base de datos está subdimensionado.
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
Cuál es el mejor servicio para guardar archivos en la nube? Lucuitas Internet 13 25-04-2019 20:10:29
Cual es la mejor forma de conectar con la BD GerTorresM Conexión con bases de datos 1 11-01-2010 16:51:47
Cuál es la mejor forma de conectar la base de datos a mi programa? martinzcr Varios 8 06-09-2007 16:28:41
Eliminar Codigo Cual es la mejor Forma ? sierraja Varios 1 12-04-2007 00:41:00
cual es la mejor forma ? martita Varios 14 07-07-2005 19:35:55


La franja horaria es GMT +2. Ahora son las 16:14:04.


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