我想知道什麼來存儲持久性存儲圖的最佳途徑的最好辦法是,以供日後分析,搜索,聚類等什麼是存儲在圖形持久存儲
我看到的Neo4j作爲一個選項,我很好奇,如果還有其他圖形數據庫可用。有沒有人對大型社交網絡如何存儲其基於圖的數據(或其他需要像模型一樣存儲圖的網站,例如RDF)有所瞭解。
像Cassandra或MySQL的選項呢?
我想知道什麼來存儲持久性存儲圖的最佳途徑的最好辦法是,以供日後分析,搜索,聚類等什麼是存儲在圖形持久存儲
我看到的Neo4j作爲一個選項,我很好奇,如果還有其他圖形數據庫可用。有沒有人對大型社交網絡如何存儲其基於圖的數據(或其他需要像模型一樣存儲圖的網站,例如RDF)有所瞭解。
像Cassandra或MySQL的選項呢?
你可以看看InfiniteGraph,這將很快(http://www.infinitegraph.com/)發佈了測試版
如果這是用於商業用途,那麼你會看到它面向的,將有更大的圖形站點。社交網站建立了自定義解決方案,這些解決方案當時適用於他們。但是他們的內部解決方案比使用InfiniteGraph更受限制。像Cassandra或MySQL這樣的產品並不是針對這個多對多的問題集而設計的。你可以做到嗎?當然,但是這是很多手寫代碼,並且不可擴展。 讓我們知道如果你有一個真正的項目,我們可以幫你找出你的圖表需求。 謝謝, 沃倫 [email protected]
圖形數據庫:
來源:http://nosql.mypopescu.com/post/498705278/quick-review-of-existing-graph-databases
圖形庫:
免責聲明:我是從圖表分析的角度來講的。
有幾種存儲圖形數據的文件格式:GraphML,GXL和其他幾種。但存儲通常不是問題。使用這些圖表而不將它們完全加載到RAM中是棘手的部分。
RDF模型過於通用,無法進行嚴謹的圖形分析。如果您不介意自己的分析速度很慢並且自己編寫算法,請使用現有的圖形數據庫 - 請參閱wikipedia。
對於實際分析,使用現有圖分析庫將所有數據加載到RAM中,如SNAP或請參閱This question。
這裏沒有絕對正確的答案;有很多種選擇,其選擇嚴重取決於您的需求。隨着大規模的檢索/遍歷(例如社交網絡和類似的後端),你很快就會遇到隨機I/O瓶頸;我相信將你的圖存儲在RAM中是當前唯一的實際操作過程。較少延遲敏感的應用程序有各種各樣的選項,其中包括neo4j(具有商業風格的開源)和Allegrograph(商業版有限免費版)。
在Delver我們最終實現我們自己的非規範化的數據模型(基本上鄰接表來表示圖)在上GigaSpaces頂部RAM(一些信息可以在this presentation找到),自定義地圖,減少代碼查詢和數據分析。如果你走這條路,Cassandra似乎是一個可行的開源平臺。
泰坦:https://github.com/thinkaurelius/titan – jcadcell 2015-07-09 19:44:23