Ir al contenido


Foto

Alternativa para almacenar registros cuando se va el internet???


  • Por favor identifícate para responder
5 respuestas en este tema

#1 erikmx

erikmx

    Member

  • Miembros
  • PipPip
  • 48 mensajes

Escrito 20 agosto 2013 - 03:52

Buen dia a todos, pues me ha surgido la necesidad de pensar que hacer para almacenar registros de una base de datos... cuando se va el internet.

Aqui en Mexico hay lugares que el internet esta bien, mas o menos o de plano es una cosa terrible.

Pues instale un sistema en un lugar con internet demasiado inestable, el programa se concecta a un pequeño servidor habilitado con CentOS y MySQL, pero hay veces que se va el internet y ya no puede trabajar esa maquina hasta que regrese que puede ser minutos u horas.

Se me ocurre crear un modo OFF Line, que si no detecta conexion que guarde los registros en una base de datos local (registros nuevos claro esta), y cuando detecte conexion trabaje normal y despues envie lo capturado en local al servidor.

Que base de datos me recomiendan para poder almacenar esos datos y despues alguna idea de como mandar los mismos??

Habia pensado en SQLite, no se cual , me recomiendan, pros y contras
  • 0

#2 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 20 agosto 2013 - 04:06

Se me ocurre crear un modo OFF Line, que si no detecta conexion que guarde los registros en una base de datos local (registros nuevos claro esta), y cuando detecte conexion trabaje normal y despues envie lo capturado en local al servidor.

Que base de datos me recomiendan para poder almacenar esos datos y despues alguna idea de como mandar los mismos??

Habia pensado en SQLite, no se cual , me recomiendan, pros y contras


saludos y bienvenido al foro mi estimado amigo.

En lo personal te sugiero que uses la misma el mismo sgdb. Tienes la ventaja de que mysql no consume grandes recursos así que podrías hacer una instalación local donde al perderse la conexión remota grabe la información en la instancia local. Luego con un sencillo proceso en delphi o mysql podrías hacer la sincronización de ambas instancais.


Saludos.
  • 0

#3 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 20 agosto 2013 - 04:20

...En lo personal te sugiero que uses la misma el mismo sgdb...


Complementando. ¿Y por qué no pensar AL REVÉS? Si estás completamente seguro que el internet de tu cliente es bazofia y que sale más barato aprovechar los pocos momentos de lucidez para "subir" los datos a la nube, mejor programar el sistema (usando MySQL, en éste caso) de manera local y solamente cuando las condiciones sean lo suficientemente estables actualizar los datos de manera remota.

...o de plano, recomiéndale a tu cliente que cambie de ISP, por que tu sistema requiere más estabilidad en la conexión a internet.
  • 0

#4 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 20 agosto 2013 - 07:00

Hola,
También, dependiendo de los componentes que utilices, se puede emplear otras alternativas.
Por ejemplo el TClientDataSet tiene la capacidad de trabajar con caché, formando una "base de datos" local independientemente del motor elegido. Luego cuando se confirman las operaciones éstas se materializan en la base de datos física.

Es una buena alternativa, con relativamente bajo costo con el que se puede trabajar de forma local con información extraída desde sitios remotos, sean desde internet o una conexión red LAN, o donde gustes.
Justamente es para casos como éstos para lo que fue diseñado: 1) trabajar localmente con datos de forma trasparente sin preocuparse realmente donde está el servidor. 2) reducir la carga a servidores y hacer la conexión únicamente cuando sea necesario.

Yo mucho de TClientDataSet no te podría ayudar, pero si los demás compañeros bien familiarizados.

Saludos,
  • 0

#5 erikmx

erikmx

    Member

  • Miembros
  • PipPip
  • 48 mensajes

Escrito 20 agosto 2013 - 08:26


saludos y bienvenido al foro mi estimado amigo.

En lo personal te sugiero que uses la misma el mismo sgdb. Tienes la ventaja de que mysql no consume grandes recursos así que podrías hacer una instalación local donde al perderse la conexión remota grabe la información en la instancia local. Luego con un sencillo proceso en delphi o mysql podrías hacer la sincronización de ambas instancais.


Saludos.


Muchas gracias a todos por sus respuestas, poliburro las soluciones sencillas son las mejores... la verdad no se me ocurrio y es algo que siempre ocupamos para hacer las pruebas antes de que se enlace al servidor final.

Asi que me inclinare por esa opcion probare y ya les contare, muchas gracias a todos saludos :)
  • 0

#6 erikmx

erikmx

    Member

  • Miembros
  • PipPip
  • 48 mensajes

Escrito 20 agosto 2013 - 08:30


Complementando. ¿Y por qué no pensar AL REVÉS? Si estás completamente seguro que el internet de tu cliente es bazofia y que sale más barato aprovechar los pocos momentos de lucidez para "subir" los datos a la nube, mejor programar el sistema (usando MySQL, en éste caso) de manera local y solamente cuando las condiciones sean lo suficientemente estables actualizar los datos de manera remota.

...o de plano, recomiéndale a tu cliente que cambie de ISP, por que tu sistema requiere más estabilidad en la conexión a internet.


Si esa estambien una buena opcion lo que pasa es que la informacion la comparten entre varias oficinas, por eso si requieren que se conecten para saber si existe el registro solo para actualizarlo, esta opcion de almacenar localmente seria para cuando se vaya el internet como medida alterna, ya que si se requiere la conexion, saludos :)
  • 0




IP.Board spam blocked by CleanTalk.