2017-07-02 93 views
1

我看到Neo4j可以作爲單元測試porpouses的Impermanent數據庫運行,我不確定這是否符合我的需求。我有我的數據存儲在neo4j通常的方式(持久),但是,從我的數據開始,我想讓每個用戶開始一個「實驗會話」:用戶添加/刪除節點和關係,但不是永久的方式,只是試驗與數據(在該會話之後,編輯應該丟失)。編輯不應該被保存,並且它們不應該被其他人看到。什麼是最好的方式來實現這一目標?Neo4j在內存中db

回答

0

您可以從neo4j基礎鏡像(或自己構建)構建一個docker鏡像,並將其複製到您的graph.db中。

然後,您可以讓每個用戶從所述映像啓動泊塢窗容器。

如果這不能回答你的問題,需要更多信息。

+0

我的意思是最終用戶,幾乎不能使用瀏覽器的用戶:) 我不認爲爲每個用戶創建一個碼頭容器,甚至開發一個零配置「啓動」,都可能是一個解決方案。 – alfredopacino

1

使用無常數據庫應該可以工作。你會

  • 需要將數據導入到每一個新的數據庫

  • 彈簧數據的Neo4j是無法連接到多個數據庫(在當前版本),你就需要開始的多個實例你的應用程序,例如在Tomcat容器

    您的應用程序停止時
  • (或崩潰),你顯然會丟失數據

或者你可能只用1數據庫的基本數據是公共的(=可見大家)和那麼對於所有新的節點/關係,您可以添加所有者屬性。

當查詢數據時,您會檢查該屬性是公開還是當前用戶。

在會話結束時,您只需刪除與給定所有者的所有節點和關係。

如果您還想編輯現有數據,那麼它會變得更加複雜,您可以創建節點/關係的副本並以某種方式處理該數據,或者如果它不是太大,則複製整個數據集。