我們有一個從各種外部系統更新的源表。我需要目標表(在不同的服務器上)與此源表同步。目標表不是源表的精確副本,因此在將數據插入/更新到目標表之前必須完成一些數據處理。用java同步兩臺不同服務器的方法
我已經想好了下面的邏輯
我們每次運行的地方獲取比以前的更新所造成的時間戳和存儲在CachedRowSet
記錄這個Java代碼消費的15分鐘。並使用CachedRowSet
作爲參數調用存儲過程,其中數據處理已完成,並將數據插入/更新到目標表中。
你相信上面提到的是一種有效的方式,因爲每次更新都要處理超過一百萬條記錄嗎?
另外當一個記錄在源表中被刪除時將不會被上面的方法複製!你能建議在這種情況下怎麼做
當你這樣做基於時間戳的同步,你應該確保兩個服務器也從同一(NTP)服務器同步的時鐘...我寧願設置一個主 - 從設備,複製遠程位置上的數據,根據需要處理它(存儲便宜,並且可以將所有同步問題留給數據庫本身),然後將處理後的數據存儲在單獨的桌子。 – wimvds 2011-05-17 08:34:00