0

私はちょうど始まろうとしているプロジェクトに取り組んでいます。別のプロジェクトで忙しかったので、同僚が先に進み、新しいプロジェクトの仕様に取り組み始めました。私が入ったとき、彼らは単純な SQL で永続化を行うことを選択したばかりでしたが (ただし、Hibernate を追加するという私の提案をすぐに受け入れました)、私が聞いたことのないSymmetric DSというツールを使用してデータ複製を実行する必要があると主張しました。

私が知る限り、JBoss サーバー (現在の計画では Tomcat のみを使用する予定です) で EJB3 を使用すると、すべてのトランザクション/レプリケーションの問題が処理され、多くの頭痛の種から解放されるのではないかと心配しています。

皆さんは、このSymmetric DSをどのように見ていますか? (私はそれに対して何も反対していないことに注意してください.JBossが長い間存在し、非常に立派な評判を持っていることを知っているだけです)

2 つのソリューションをどのように比較しますか?

ありがとう!

EDIT : ところで、SymmetricDS は重複した主キーをどのように処理しますか? つまり、データベース A に行を追加し、データベース B に別の行を追加すると、両方ともおそらく同じ主キーで追加されますよね? 競合を避けるために、SymmetricDS はそれをどのように処理しますか? このフォーラムでの議論は、最初はその一部に対処しているように見えましたが、私の質問にはまったく答えていません。

4

1 に答える 1

6

EJB と SymmetricDS は異なる問題を解決しようとしていると思います。EJB は、(多くの機能の中でも特に) データベースに永続性を提供するフレームワークです。SymmetricDS は、データベースに加えられた変更をキャプチャし、非同期で別のデータベースに適用するアプリケーションです。実際、この 2 つは連携して動作するため、Java Bean からデータベースにデータを簡単に保持し、それを他のリモート データベースに複製することができます。

SymmetricDS は JBoss または Tomcat にデプロイでき (スタンドアロンおよび組み込みオプションもあります)、気にするのはデータベースだけです。内部では、Spring フレームワークを使用してデータベースにアクセスしています。変更をキャプチャするデータベース トリガーをインストールし、まったく同じ方法でターゲット データベースに変更を適用します。したがって、行 A と行 B がソース データベースで一緒にコミットされた場合、それらはターゲットでも一緒にコミットされます。

2 つの技術を明確にするのに役立つことを願っています。SourceForge には SymmetricDS の活発なコミュニティがあり、喜んで質問に答えたり、展開の成功例を示したりしています。

http://sourceforge.net/projects/symmetricds

あなたのプロジェクトで頑張ってください!

エリック

于 2008-10-23T17:47:55.933 に答える