1
考慮我將有以下幾件事在我的圖:對於給定類型的節點,關係和查詢,neo4j如何執行時間和空間複雜度?
100 Million nodes, More than 1 Billion connections/relationships
Node properties: around 10 properties, mix of int, doubles, strings, HashMaps etc.
Relationship properties: around 10 double values and 2-3 string (with avg 50 chars) values
現在,假設我要更新所有的節點和關係的屬性值,由每個節點上詢問鄰居一次。即說,
step1: search a node, say X, with given Id,
step2: get it's neighbours,
step3: update node properties of X and all relationship properties between X and it's neighbors.
對所有節點重複這三個步驟一次。 多少時間將它採取在所有節點的更新(約時間對我來說是好的,可能是秒/分鐘/小時)給出以下系統配置:
Two dual core processors, 3.0 GHz each, 4*4 GB memory, 250 GB Hard disk space.
多少將需要近似的存儲空間爲上述數據?
請通過提供任何近似的樣本性能(時間和存儲)分析來幫助我。任何示例性能分析都將幫助我形象化我的需求。謝謝。
謝謝@Nicholas。關於你的答案的一個問題。無論你提到什麼大小,它是否包含索引?如果不是,索引(節點)會佔用多少內存?而且,它是否只能從節點上的查詢服務的位置開始索引?那麼,只有索引纔會被加載到緩存中? 我有以下系統: 來自雲(m1.medium)的3.5 GB雙核處理器機,具有大約400GB的硬盤空間..以及大約4GB的緩存.. 而最後一個,我不明白重複關係.. – 2013-02-26 04:33:07
考慮到這個系統配置,估計一次更新所有關係和節點的時間估計有多少? – 2013-02-26 04:35:27
我不認爲緩存被索引,但儘管如此,它仍然很快。不完全確定索引大小,但它通常是標稱的,它存儲它非常緊湊。再次,這很難估計,但幾個小時是最好的,我可以給你。你可以隨時加載並測試。 – Nicholas 2013-02-26 06:32:23