[问题] 同步"值"的问题

楼主: erttyy8821 (侠)   2015-08-13 15:24:33
(更新描述
想问问版上的先进关于"值"同步的问题
远端Server的DB A Table 有a,b,c三个字段
在本地端的DB B Table 有 b,c 两个字段
彼此用http get透过JSON沟通
我想问有没有保持DB里面的b,c的"值"持续相同的方法
就是A可能新增,删除,修改
我的本地端 get到server的值之后 要保持双方资料一样
目前有用过两种方法
1.
下载完资料后
用两个for循环来捞出本地和远端的资料互相比较
如果本地有远端没有就砍掉,反之就新增,相同的话就看需不需要更新
2.
资料更新后有一个Timestamp去记录
比对本地与远端的Timestamp来决定要不要砍掉资料重写
或者像1一样开始比较
其实我想知道有没有其他的做法
总觉得这样不够聪明
不然这样做比对其实也可以解决问题
有Google过,但也不知道有什么关键字查询比较好
先谢谢各位
作者: ckvir (ckvir)   2015-08-13 16:28:00
git 可以吧
楼主: erttyy8821 (侠)   2015-08-13 16:31:00
我是指java中的资料 不是指版本控管啦 哈
作者: ckvir (ckvir)   2015-08-13 16:34:00
你的db是什么?
楼主: erttyy8821 (侠)   2015-08-13 16:37:00
远端server有database 本地端程式有database要同步彼此的资料内容透过API做资料的交换
作者: ckvir (ckvir)   2015-08-13 16:39:00
我是说 db 是用 mysql 还是你用文字档,有很多种 db文字档的确可用 git 同步,mysql 可以查 replication
作者: darrenlu (Rageek)   2015-08-13 16:50:00
还有需要考虑同步的频率
楼主: erttyy8821 (侠)   2015-08-13 17:19:00
主要是mqsql 感谢你我会去查频率我有解决了 这点倒还好不过我其实倾向的还是算法或者api/lib可以解决 哈类似json 有gson比较方便调用的方法因为我比较需要的是资料 而不是整个db 字段可能不同
作者: luoqr (.....)   2015-08-13 19:20:00
要先问目的是什么会决定用什么策略解决这个问题 XD
作者: yyc1217 (somo)   2015-08-13 22:25:00
用timestamp要考虑两边时钟准不准的问题
楼主: erttyy8821 (侠)   2015-08-14 09:47:00
感谢提醒
作者: KekeMonster (KekeMonster)   2015-08-14 16:17:00
感觉你一次都会拿到一份完整的资料可考虑用 bulkload 到一个暂时资料表再 rename 取代?

Links booklink

Contact Us: admin [ a t ] ucptt.com