2016-01-22 141 views
0

目前,我有一個JavaFX應用程序,它可以從遠程MySQL服務器上的數據生成報告和統計數據。我使用EclipseLink進行持久化。由於訪問是隻讀的,數據並不總是新鮮的,我想我可以通過使用嵌入式數據庫(H2)來加快速度,可以在用戶希望的時候同步到遠程服務器。問題是,我不知道如何去做。同步嵌入式數據庫與遠程數據庫

到目前爲止,我想到的是執行mysqldump,創建遠程服務器的轉儲並在​​本地執行生成的SQL腳本。這當然遠非優雅,所以:這項任務是否有專利解決方案?

+0

我們是否在談論很多表格和數據(或者甚至可能有很多數據)? – augustoccesar

+0

約50張表,約100MB,但不是特別快速增長。 –

回答

0

那麼,50表可能有相當多的關係,這可能會很棘手......據我所知,沒有什麼能夠爲你自動化這個或類似的東西。很可能你必須爲此創建自己的邏輯。當我做了類似於你想做的事情時,我使用了「上次更新」的邏輯,例如,本地數據具有上次與遠程同步的時間的時間戳,並且遠程數據具有最後一次更新的時間戳數據在那裏更新(他自己在桌面上,甚至像一對一的關係)。有了這些數據,每當本地用戶輸入可能過期的系統部分時,客戶端就會連接到服務器,並檢查last update時間戳是否大於本地同步的時間戳,如果是,則更新完整對象和關係。我花費了一些時間來發展,但最終的工作就像一個魅力。可能還有其他方法可以做到,但這是我當時找到的方式。希望它能幫助你解決你的問題。