5

SQL Server を使用するアプリケーションがあります。NOSQL ストアを使用したかったのですが、データが高度に接続されているため、グラフにすることにしました。Neo4j はオプションです。

アプリケーション層に触れることなく、たとえばいくつかのxml構成ファイルを変更するだけで、データベースを最適に切り替えることができるようにしたいと考えています。Web で公開されているいくつかの例を見てきましたが、ORM と OGM がアプリケーションを同じように構成していないことがわかりました。それぞれの構成ファイルには独自の名前があり、さらに重要なことに独自の構造があります。それぞれのコードを見ると、セッションを初期化する方法も異なることがわかりました。これは、私が考えていることには適していません。

私の質問は次のとおりです。「既存のアプリケーション コードに触れずに 2 つのデータベースを切り替えることは可能ですか、大きなオーバーヘッドなしで実現可能ですか?何かを追加することはできますが、既に存在するものには触れません」。たとえば、Hibernate を使用して、SQL データベースと NOSQL データベースの間で純粋な多言語永続性を確立することは素晴らしい考えです。

深く掘り下げる前に、皆さんの意見を聞きたいです。ここSOに冬眠中の男性がいますか?

4

1 に答える 1

3

Hibernate OGMの目標は、さまざまな NoSQL データ ストアに統一された抽象化を提供することです。私たちが話しているように、プロジェクトはまだ若いので、すぐに採用できるかどうかはわかりません.

取引の問題もあります。アプリケーションが SQL トランザクションを使用するように設計されている場合、NOSQL ソリューションに切り替えると状況が根本的に変わります。

抽象化レイヤーを使用すると、移植性は向上しますが、ネイティブ クエリのすべての機能を利用できるわけではありません。これは、 SQL-92のみをカバーし、ウィンドウ関数または CTE のサポートを欠いているJP-QL と同じ問題です。

ポリグロットの永続性は優れた機能ですが、 Spring Dataが提供するような別のリポジトリを使用してみてください。アーキテクチャの観点からは、はるかに柔軟だと思います。

于 2014-09-10T08:04:45.917 に答える