我想要處理一個具有數億個節點的超大型NetworkX圖形對象。我希望能夠將它寫入文件,以便不消耗我所有的計算機內存。但是,我需要不斷搜索現有節點,更新邊緣等。讀/寫NetworkX圖形對象
有沒有一個很好的解決方案?我不知道它將如何與所提供的任何關於http://networkx.lanl.gov/reference/readwrite.html
唯一的解決方案,我能想到的是給每個節點存儲與在文件系統中的其他節點引用一個單獨的文件中的文件格式的工作 - 這樣,打開一個節點進行檢查不會使存儲器過載。是否有大量數據的現有文件系統(例如PyTables)在不編寫自己的樣板代碼的情況下執行此操作?
感謝Luis。Essentially我存儲在一個數據庫中,但是,查詢節點來獲取鄰居是非常昂貴的,我只能想象Google的服務器是什麼樣的... – ejang
如果圖形已經在RAM中,那麼爲什麼要序列化它是一個問題?磁盤空間比RAM便宜)或者NetworkX有某種內部方法來壓縮表示,並且在序列化過程中會彈出?我很好奇 – user
我認爲這個問題並沒有把重點放在序列化上,而是把它保存在一個結構中這將允許有效的查詢。這是我對數據庫的建議來自何處。 – LuisZaman