2017-07-02 12 views
1

Neo4jがユニットテスト用のImpermanent DBとして動作することがわかりましたが、これが私のニーズに合っているかどうかはわかりません。私は自分のデータを通常の方法(永続的)でneo4jに保存していますが、自分のデータから始めて、各ユーザーに「実験セッション」を開始させたいと思います。ユーザーはノードとリレーションシップを追加/削除しますが、データと一緒に(そのセッションの後に編集を失わなければならない)。編集内容は保存してはならず、他のユーザーには表示しないでください。それを達成するための最良の方法は何ですか?Neo4j in memory db

答えて

0

neo4jベースイメージからドッカーイメージを作成(または自分で作成)し、graph.dbをそのイメージにコピーすることができます。

その後、すべてのユーザーに前記画像からドッカーコンテナを開始させることができます。

質問に答えられない場合は、さらに情報が必要です。

+0

私は最終的にブラウザをほとんど使用できないユーザーを意味しています:) ドッキング用のコンテナを作成すると、各ユーザーは、ゼロ設定の「スタートアップ」を開発したとしても解決策にはならないと思います。 – alfredopacino

1

非永続データベースを使用すると効果があります。あなたは(現在のリリースで)

  • 春・データのNeo4jは、複数のデータベースに接続できないそれぞれの新しいデータベースにデータをインポートする

    • 必要性、あなたは複数のインスタンスを起動する必要がありますあなたのアプリケーション、例えばTomcatコンテナ

    • アプリケーションが停止(またはクラッシュ)であなたは明らかにデータ

    それとも、潜在的に基本データがパブリック(=すべてのユーザーに表示)された状態でのみ1のデータベースを使用することができますを失うことになるし、すべての新しいノード/関係に対して、ownerプロパティを追加できます。

    データを照会する際、プロパティがパブリックか現在のユーザーかをチェックします。

    セッションの終了時に、特定の所有者とのすべてのノードと関係を削除するだけです。

    既存のデータを編集したい場合は、より複雑になります。ノード/リレーションシップのコピーを作成して、何らかの形でそれを処理することもできます。