2008-10-23 67 views
0

我正在開始一個即將開始的項目,並且由於我忙於另一個項目,我的同事們繼續開始研究新規範。當我進來時,他們只是選擇了使用普通SQL進行持久化(儘管接受了我的建議來添加Hibernate),但堅持認爲數據複製應該使用名爲的對稱工具DS執行,但我從未聽說過關於。JBoss/EJB vs Symmetric DS

我擔心,因爲據我所知,有一個JBoss服務器(當前計劃只使用Tomcat)和EJB3處理所有事務/複製的麻煩,並且應該讓我們免於許多麻煩。

你們如何看待這個對稱DS? (請注意,我對此沒有任何反對意見,只是我知道JBoss會在很長一段時間內出現,並且它的聲譽非常好)

您會如何比較這兩種解決方案?

謝謝!

編輯: 順便說一下,SymmetricDS如何處理重複主鍵?我的意思是,如果我在數據庫A中添加一行,而在數據庫B中添加另一行,則兩者可能會添加相同的主鍵,對吧? SymmetricDS如何處理以避免衝突? 這forum discussion似乎起初解決了一些問題,但它並沒有完全回答我的問題。

回答

6

我認爲EJB和SymmetricDS正試圖解決不同的問題。 EJB是一個爲數據庫提供持久性的框架。 SymmetricDS是一種應用程序,它捕獲對數據庫所做的更改並以異步方式將它們應用於另一個數據庫。實際上,這兩者協同工作,使您可以輕鬆地將數據從Java Bean持久存儲到數據庫,並將其複製到其他遠程數據庫。

您可以將SymmetricDS部署到JBoss或Tomcat(也有獨立和嵌入式選項),並且它關心的只是數據庫。在封面下,它使用Spring框架來訪問數據庫。它安裝數據庫觸發器來捕獲更改,並將更改以完全相同的方式應用於目標數據庫。所以,如果A行和B行在源數據庫上一起提交,那麼它們在目標上一起提交。

我希望有助於澄清這兩種技術。有在SourceForge上一個活躍的社區爲SymmetricDS比樂意回答問題,並給予成功部署的例子更多:

http://sourceforge.net/projects/symmetricds

你的項目好運氣!

Eric