7

現在、Web プロジェクトの設計に取り組んでおり、Java スタックを使用する必要があります。

最初は、負荷が限られていることを考慮して、単一のデータベース (この場合は PostgreSQL) を使用できます。この場合、Hibernate のような ORM は適切な決定となります。なぜなら、オブジェクト/リレーショナルの問題は、常に最も時間とコストがかかる問題の 1 つであるためです。これが、ORM ツールを使用する理由です。安価で、時間を大幅に節約できます。

しかし、これに関する問題は、後でデータベース層でシャーディングとマスター/スレーブ (読み取り/書き込み) レプリケーションを期待していることです。これは、ORM にとって実際の問題です (少なくとも私が知る限り)。

私が間違っている場合は訂正してください。使用できるJavaスタック用の優れたORMツールがあります。

問題を解決できるHibernate Shardsというプロジェクトがあったことは知っていますが、リンクによると、ベータ版に合格することはなく、2007年に開発が停止しました。

通常の Hibernate と分散レベル 2 キャッシュを使用すると、多数のノードを使用できます。

しかし、これではデータベースのスケーラビリティの問題は解決されず、アプリケーションに使用できるデータベースは 1 つだけです。

結論:私たちのケース(Javaスタック)に適したオープンソース/無料のORMはありますか、それとも、データベースのスケーラビリティとおそらく後で他の利点を提供するために、かなりのコストがかかったとしても、それを自分で実装する必要があります.

ありがとう!

4

2 に答える 2

0

Java Data Objects、特にhttp://www.datanucleus.orgでの実装については、良い言葉を入れなければなりません。特に、注釈と型安全なクエリ言語を使用している場合は、速度を上げて実際に実行するのは非常に簡単です。興味深いものを非常に迅速に。

さらに、JDO はデータベースにとらわれないため、リレーショナル データベース以外のものを使用することにした場合でも、変換は比較的簡単です。JDBC ドライバーを使用してデータベースに接続するため、そのレベルで接続するクラスタリング/シャーディング ソリューションは比較的透過的です。(それは私の完全な希望的観測です。それが本当かどうかはわかりませんが、そうあるべきですよね?)

私は Hibernate と大きな本で 2、3 日過ごしましたが、あまりにも頻繁に同じことを繰り返していて、RDB システムに限定していると判断しました。それを見て、あなたの考えを見てください。

于 2013-07-14T23:15:05.053 に答える
-1

考慮すべき解決策の 1 つは、これらの問題をすべて解決してくれる水平スケーラビリティ ソリューションを購入することです。

アプリケーションを変更せずに水平方向にスケーリングできるソリューションがいくつかあります (シャーディングなどの手法で必要になる変更)。

于 2013-08-12T20:28:46.320 に答える