Alternativa para almacenar registros cuando se va el internet???
#1
Escrito 20 agosto 2013 - 03:52
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
#2
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.
#3
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.
#4
Escrito 20 agosto 2013 - 07:00
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,
#5
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
#6
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