0

こんにちは私は私のアプリケーションでneo4jを使用しており、私の構造は次のとおりです。

  1. EmbeddedGraphAPIを使用しています
  2. アプリケーションで維持しているプールを使用することを指すデータベースがいくつかあります。たとえば、- > db1、db2、db3、..... db100
  3. 特定のデータベースにアクセスしたい場合は、new EmbeddedGraphDatabase( "Path to db(n)")を使用してそのデータベースをポイントします。
  4. 問題は、接続プールの数が増えると、アプリケーションによって消費されるRAMサイズが増え続け、限界点でアプリケーションが機能しなくなることです。
  5. だから私はNeo4jから他のデータベースに移行することを考えています。
  6. さらに、私のデータベースのごく一部だけがグラフ構造を利用しています。

移行の1つの方法は、そのためのスクリプトを作成することです。より良いオプションはありますか?

私のもう1つの質問は、私の構造を維持できるようにするための最良のデータベースは何かということです。

私が考えている他の視点は、データの一部をNeo4jに保持し、別の部分を他のデータベースにシフトできることです。

不明な点があれば明確にできます。

前もって感謝します。

4

2 に答える 2

1

EmbeddedGraphDatabase インスタンスは、SQL の「接続」に相当しません。長期間 (数日、数か月) 実行するように設計されています。したがって、開始/停止にはコストがかかります。

同じ JVM 内に何百もの個別のデータベースがある場合の使用例は何ですか?

于 2012-10-01T19:36:39.017 に答える
1

graphdb はデータモデル全体を単一のホストに保持するように設計されているため、多数の小さなデータベースのパフォーマンスは低下します。

データベースごとに単一の JVM を実行しますか?

メモリ マッピングに正しいプロパティを提供することで、neo4j が使用するメモリの量を制御できます。また、neo4j-enterprise の gcr キャッシュを使用して、キャッシュ サイズ プロパティ変数を制御することもできます。

グラフ部分をNeo4jに残し、非グラフ部分のみを移動することはまだ理にかなっていると思います。

于 2012-10-07T21:59:16.413 に答える