我试图开发一个系统,让用户在自己的笔记本电脑更新本地,离线数据库,并在重新连接到网络上,与主,主数据库同步其DBS期间序列化的数据。优势DB同步
我看着MySQL的复制,但文件侧重于单向同步。所以我想我要在Python中构建一个自定义应用程序(双向同步),并且我有几个问题。
我读过几篇关于这个问题的文章,其中一个被动提及的是序列化(我将通过python中的pickle和cPickle模块实现)。有人能告诉我这是否是必要的,以及在同步数据库的情况下序列化数据的优点?
一个在维基百科上关于序列条目用途的状态它可以用作“用于检测随时间变化的数据的变化的方法。”这听起来非常重要,因为我的应用程序将查看时间戳以确定更新主数据库时哪些记录具有优先级。所以,我想我真的不明白的事情是在Python酸洗数据如何被用来“检测随时间变化的数据的变化”,以及这是否会补充使用时间戳的数据库,以确定优先级或替换此方法完全。
反正,高水平解释或代码的例子都是受欢迎的。我只是想弄明白这一点。
由于
一些相关说明:1)请注意,泡菜模块没有任何安全保证;如果不受信任的源将创建数据(直接或间接),您将需要使用类似JSON的东西。 2)在使用时间戳时,并不是不可能的(事实上有时很有可能,由于批处理)许多条目将具有完全相同的时间戳(下降到毫秒,甚至可能是微秒)。在这种情况下,你的代码不应该失败;你可能需要一个向量时钟来替换索引,或者修改你的语义。 – ninjagecko 2012-03-22 03:04:50
请注意,通常情况下,为数据库序列化对象是一个坏主意 - 它违背数据库规范化原则,限制访问数据的方式以及访问数据的方式。你几乎总是更适合将它存储在数据库中。 – 2012-03-22 03:06:31