JBoss / EJBと対称DS
質問
私はちょうど開始しようとしているプロジェクトに取り組んでおり、別のプロジェクトで忙しかったので、同僚が先に進んで新しいプロジェクトの仕様に取り組み始めました。私が入ってきたとき、彼らはプレーンSQLで永続化を行うことを選択しました(ただし、Hibernateを追加するという私の提案をすぐに受け入れました)が、 Symmetric DS というツールを使用してデータ複製を実行することを主張しました聞いたこともない。
懸念しているのは、私が知る限り、EJB3を備えたJBossサーバー(現在の計画ではTomcatのみを使用する予定)がトランザクション/レプリケーションの面倒をすべて処理し、多くの頭痛から私たちを解放するためです。
この対称DS をどのように見ていますか? (私はそれに反対するものは何もないことに注意してください、それは私がJBossが長い間存在していることを知っているだけであり、それは非常に立派な評判を持っています)
2つのソリューションをどのように比較しますか?
ありがとう!
編集: ところで、SymmetricDSは重複したプライマリキーをどのように処理しますか?つまり、データベースAに行を追加し、データベースBに別の行を追加すると、おそらく両方が同じ主キーで追加されます。 SymmetricDSは、競合を回避するためにどのようにそれを処理しますか? このフォーラムの議論は、最初はその一部に対処するように思われましたが、私の質問にはまったく答えません。
解決
EJBとSymmetricDSは異なる問題を解決しようとしていると思います。 EJBは、(多くのものの中でも)データベースに永続性を提供するフレームワークです。 SymmetricDSは、データベースに加えられた変更をキャプチャし、非同期の方法で別のデータベースに適用するアプリケーションです。実際、この2つは連携して動作し、データをJava Beanからデータベースに簡単に永続化し、他のリモートデータベースに複製できるようにします。
SymmetricDSをJBossまたはTomcatにデプロイできます(スタンドアロンオプションと組み込みオプションもあります)。データベースのみが重要です。内部では、Springフレームワークを使用してデータベースにアクセスしています。データベーストリガーをインストールして変更をキャプチャし、ターゲットデータベースにまったく同じ方法で変更を適用します。したがって、ソースデータベースで行AとBが一緒にコミットされた場合、ターゲットで一緒にコミットされます。
これが2つの技術の明確化に役立つことを願っています。 SourceForgeのSymmetricDSには活発なコミュニティがあり、質問に答えて成功したデプロイメントの例を提供します。
http://sourceforge.net/projects/symmetricds
プロジェクトの成功をお祈りします!
エリック