看板 java 關於我們 聯絡資訊
(更新描述 想問問版上的先進關於"值"同步的問題 遠端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://www.ptt.cc/bbs/java/M.1439450675.A.D02.html
ckvir: git 可以吧 08/13 16:28
erttyy8821: 我是指java中的資料 不是指版本控管啦 哈 08/13 16:31
ckvir: 你的db是什麼? 08/13 16:34
erttyy8821: 遠端server有database 本地端程式有database 08/13 16:37
erttyy8821: 要同步彼此的資料內容 08/13 16:37
erttyy8821: 透過API做資料的交換 08/13 16:38
ckvir: 我是說 db 是用 mysql 還是你用文字檔,有很多種 db 08/13 16:39
ckvir: 文字檔的確可用 git 同步,mysql 可以查 replication 08/13 16:40
darrenlu: 還有需要考慮同步的頻率 08/13 16:50
erttyy8821: 主要是mqsql 感謝你我會去查 08/13 17:19
erttyy8821: 頻率我有解決了 這點倒還好 08/13 17:19
erttyy8821: 不過我其實傾向的還是演算法或者api/lib可以解決 哈 08/13 17:21
erttyy8821: 類似json 有gson比較方便調用的方法 08/13 17:21
erttyy8821: 因為我比較需要的是資料 而不是整個db 欄位可能不同 08/13 17:23
luoqr: 要先問目的是什麼會決定用什麼策略解決這個問題 XD 08/13 19:20
已經更新了描述 不好意思! ※ 編輯: erttyy8821 (1.174.240.153), 08/13/2015 20:52:01
yyc1217: 用timestamp要考慮兩邊時鐘準不準的問題 08/13 22:25
erttyy8821: 感謝提醒 08/14 09:47
KekeMonster: 感覺你一次都會拿到一份完整的資料 08/14 16:17
KekeMonster: 可考慮用 bulkload 到一個暫時資料表再 rename 取代? 08/14 16:17
flowwinds: 變動時, 變動那方發http request通知另一方? 08/20 02:31