2014-01-29 35 views
7

在沒有任何持久數據庫/文件存儲的情況下,是否可以在內存中運行Neo4j?neo4j只能在內存中運行嗎?

來自多個xml/json文件的數據,我們必須使用ConcurrentHashmap將它們加載到jvm堆內存中。由於數據對象具有依賴關係(父 - 子,子可以鏈接回父),所以我們要維護一個對象圖。在這種情況下有沒有辦法使用Neo4J?或者你能建議任何可以支持維護這種對象圖的框架。

謝謝你。

回答

4

Neo4j是一個ImpermanentDataBase,用於單元測試,但它在內存中運行。

請參閱http://docs.neo4j.org/chunked/stable/tutorials-java-unit-testing.html

+0

您是否知道在生產中使用此內存數據庫有任何缺陷?在某些情況下,我想使用Neo4j的圖遍歷功能,但我不需要將數據庫保存到文件系統。我想知道在這種情況下使用ImnpermanentDataBase是否是個好主意。 – Sergio

+0

使用非持久性數據庫,如果neo4j崩潰或死亡,您將丟失所有數據。因此,在重新啓動neo4j之後,數據庫將爲空。這通常不適用於產科環境。 – cybersam

+1

我知道。我只想使用Neo4J API進行查詢,並使用一些圖形來表示我在內存中使用的結構。如果我不在乎這種堅持,在生產系統中這樣做是一個好主意? (例如,內存佔用和性能方面?) – Sergio