FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Sincronizar MySQL con SQLite
Hola, perdón si este no es el sitio adecuado del foro para mi pregunta, ya que yo programo en lazarus.
Estoy intentando hacer un programa multi usuario que tiene que sincronizar una base de datos Mysql que esta en internet con otra base de datos SQLite que tiene cada usuario en su PC o en un teléfono y vicebersa. Me podéis asesorar de cual seria la forma mas segura de sincronizar ambas base de datos. Cada usuario tendra su nombre de usuario y contraseña, y al ser un programa que va a ser de código abierto no creo que se pueda acceder directamente al servidor MySQL desde el programa ya que sino cualquiera sabría las contraseñas de la base de datos MySQL y la podría liar. Muchas gracias. |
#2
|
|||
|
|||
Hola gracias a todos por vuestro interés, según parece el problema es mas complicado de lo que parece, el no saber como llevar acabo esto yo se lo achacaba a mi falta de experiencia...
Al no obtener respuesta decidí mandarle un mensaje privado a Ñuño Martínez ya que he leído unos cuantos post en los que el ha participado y al ver que tenia conocimientos de Lazarus y PHP, pense que seria la persona idonea para orientarme sobre cuales podían ser los pasos para llevar acabo este proyecto que tengo entre manos. Desde aquí quiero aprovechar para darle las gracias por su respuesta. Cita:
Yo avía pensado el meter un campo Date Time a cada registro y así saber cuando se ha creado o actualizado ese registro. Luego tanto el programa como la aplicación PHP le preguntaría a cada tabla su última fecha y hora en el que se ha actualizado, compararía ambos resultados y en base a los resultados sincronizaría los datos en una dirección u otra. Muchas gracias a todos por vuestro interés, si alguien tiene alguna idea o quiere aportar alguna opinión quedo a la escucha. Gracias. |
#3
|
||||
|
||||
Cita:
Pero es un trabajo delicado que tienes que pensar bien antes de hacer nada. |
#4
|
||||
|
||||
La forma mas simple es crear desde 0 la BD de sqlite desde los datos de MySql. Osea, se cargan todos los registros, tal cual. Es un proceso rapido para una carga de datos mediana (eso es lo que hago ahora con http://www.elmalabarista.com/bestseller).
Si tienes que sincronizar en tiempo real los cambios, es un cuento muy diferente. Es algo particularmente dificil de hacer (a menos que todos los cambios sean adiciones de registros, sin relaciones). Si cuentas mas detalles...
__________________
El malabarista. |
#5
|
|||
|
|||
Hola, muchas gracias a todos.
Los cambios no tienen por que hacerse en tiempo real ya que esto no es tan importante. La opción que comenta mamcx me parece muy interesante lo que me preocupa es lo de a que se refiere con "Es un proceso rapido para una carga de datos mediana". La tabla mas grande que puedo llegar a manejar creo que en un caso extremo podrian ser 10000 registros anuales (la media estaria en 250) y la tabla podria tener 10 columnas como maximo (ahora no lo recuerdo la cantidad esacta). A lo largo de 100 años serian 1000000 de registros, ami eso me parece poco ya que la única referencia que tengo es el robot que manejo en el trabajo, y todos los meses ya genera mas de un millon de entradas en su control historico de movimientos. No se sis estos datos seran aproximados ya que como he comentado no controlo mucho del tema: En el caso extremo (mas bien tirando a imposible): 1.000.000 registros anuales por 10 columnas 10.000.000 de datos a una media de 10 letras por celda o registro 100.000.000 a lo largo de 100 años 10.000.000.000 letras a 1kbyte por letra en 100 años la db ocuparia 9.31323Gb (95.36743Mb anuales) En el caso mas realista (in cluso un poco tirando por lo alto): 250 (reg año)x10 (columnas)x10 (letras reg)x100(años)=2.500.000 caracteres en 100 años que suponenen 2.38419Gb (0.02384Mb anuales) Yo creo que 0.02384Mb anuales no es tanto y en las opciones del progrma se podria hacer que por defecto solo sinclonizase solo los últimos 12 meses, los últimos 2 o 5 años, 10 años y todo.... Muchas gracias, un saludo. |
#6
|
||||
|
||||
El problema no es la cantidad de datos, sino sincronizarlos.
Si no necesitas tiempo real, entonces quizás te valdría comprimir la BD en un zip, enviarla completa al otro sitio, allí la descomprimes y la importas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Copiar tabla de MySQL a SQLite | darkerbyte | Conexión con bases de datos | 1 | 01-05-2013 03:09:06 |
Sincronizar BD MySQL Hosting con BD MySQL servidor local | ivantech | MySQL | 3 | 09-03-2010 19:01:07 |
Sincronizar base de datos con MySQL | anekro | MySQL | 0 | 19-06-2008 10:45:30 |
Sincronizar dos BD de SQL | lgarcia | SQL | 2 | 18-05-2007 19:45:00 |
Sincronizar bdd con ado | dimitri | Conexión con bases de datos | 0 | 29-01-2007 11:10:21 |
|