2017-05-22 36 views
0

我使用的Neo4j從存儲在關係數據庫中的數據做複雜的圖形計算的現實生活場景,這些計算要經常這樣做的自然的解決方案是使用的Neo4j創建無常在飛行中的neo4j圖表。使用Neo4j的ImpermanentGraphDatabase需要處理大量數據

但我仍然覺得像下面的一個在互聯網上(Neo4j: is it a in-memory graph database?)引用:

Neo4j的功能 - 名爲 ImpermanentGraphDatabase一個剝離下來的變種。這個打算只用於測試 。例如。當您開發支持圖形的應用程序時,您的單元 測試可能會使用它。不建議使用 ImpermanentGraphDatabase現實生活中的場景與大量 數據。

我正在做上面這些,使用ImpermanentGraphDatabase來處理一個真實生活場景,其中有數千個節點,我在其中進行實時計算。 創建嵌入式數據庫的每個我需要做對飛的計算時間是不可行有啥解決方案確實Neo4j的報價爲這個場景?如果將Neo4j ImpermanentGraphDatabase用於具有大量數據的真實場景,究竟發生了什麼?

回答

0

有一個在文本中的小詞「不」。

另外在(自由)的著作「圖形數據庫」只推薦用於測試(download)無常服務器模式,而不是用於生產環境。如果您想在本地使用圖形(無羣集),則可以使用嵌入模式。請記住,圖dbs總是有兩部分:存儲和遍歷引擎。但我認爲,您正在尋找一個(密碼)可查詢數據結構?值得看看TinkerPop/Gremlin(link)。

爲了您的目的,取決於會改變的部分。你的數據結構?計算公式?或者只是價值觀?如果你的圖形是靜態的,你只需要更新你的數據(而不是圖形數據庫)。如果你的圖形是動態的,你可能會優化你的算法並使用不同的數據結構。圖並不總是最好的選擇,樹,列表或字典也不是。

+0

數據和結構的變化,正如我所說的「創建嵌入式數據庫,每次我需要做對飛的計算是不可行的」,在我的情況的曲線來表示關係的最佳選擇。 – dendini