作者erttyy8821 (俠)
看板java
標題[問題] 同步資料
時間Thu Aug 13 15:24:33 2015
(更新描述
想問問版上的先進關於"值"同步的問題
遠端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過,但也不知道有什麼關鍵字查詢比較好
先謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.64.226.149
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1439450675.A.D02.html
1F:推 ckvir: git 可以吧 08/13 16:28
2F:→ erttyy8821: 我是指java中的資料 不是指版本控管啦 哈 08/13 16:31
3F:推 ckvir: 你的db是什麼? 08/13 16:34
4F:→ erttyy8821: 遠端server有database 本地端程式有database 08/13 16:37
5F:→ erttyy8821: 要同步彼此的資料內容 08/13 16:37
6F:→ erttyy8821: 透過API做資料的交換 08/13 16:38
7F:→ ckvir: 我是說 db 是用 mysql 還是你用文字檔,有很多種 db 08/13 16:39
8F:→ ckvir: 文字檔的確可用 git 同步,mysql 可以查 replication 08/13 16:40
9F:推 darrenlu: 還有需要考慮同步的頻率 08/13 16:50
10F:→ erttyy8821: 主要是mqsql 感謝你我會去查 08/13 17:19
11F:→ erttyy8821: 頻率我有解決了 這點倒還好 08/13 17:19
12F:→ erttyy8821: 不過我其實傾向的還是演算法或者api/lib可以解決 哈 08/13 17:21
13F:→ erttyy8821: 類似json 有gson比較方便調用的方法 08/13 17:21
14F:→ erttyy8821: 因為我比較需要的是資料 而不是整個db 欄位可能不同 08/13 17:23
15F:→ luoqr: 要先問目的是什麼會決定用什麼策略解決這個問題 XD 08/13 19:20
已經更新了描述 不好意思!
※ 編輯: erttyy8821 (1.174.240.153), 08/13/2015 20:52:01
16F:推 yyc1217: 用timestamp要考慮兩邊時鐘準不準的問題 08/13 22:25
17F:→ erttyy8821: 感謝提醒 08/14 09:47
18F:→ KekeMonster: 感覺你一次都會拿到一份完整的資料 08/14 16:17
19F:→ KekeMonster: 可考慮用 bulkload 到一個暫時資料表再 rename 取代? 08/14 16:17
20F:→ flowwinds: 變動時, 變動那方發http request通知另一方? 08/20 02:31