簡體   English   中英

Neo4j和Mysql用於社交網站的體系結構

[英]Architecture with Neo4j and Mysql for social networking website

我們正在設計具有高度互連的數據集的社交網站的體系結構。 (例如用戶可以關注其他用戶,地點,興趣點以及基於此的推薦)。 提要來自直接跟隨的實體以及間接關聯的實體。 (位置和興趣點可以與諸如層次結構的倒置樹中的其他位置和興趣點連接起來)。

現在,我們計划使用Neo4j存儲帶有ID的實體之間的復雜關系。 我們要在MySQL中存儲該實體的實際數據。 我們希望將圖數據庫的內容保持在最小大小(但是要保持整個關系(這對於提要非常重要)),以便可以在運行時將整個圖加載到RAM中。 (內存中的整個圖形可快速檢索內容)。 一旦從Neo4j獲得對象的ID,就可以在MySQL上運行普通的SQL查詢。

我們正在使用PHP和MySQL的組合。 現在我們了解到,如果Neo4j以嵌入式模式實現,則適用於復雜的算法和快速的數據檢索。 現在我們需要將Neo4j與PHP集成。 我們計划為Neo4j實現創建RESTful Java API(或SOAP)。 這樣我們就可以做到。

我們將至少有100萬個節點和1000萬個關系。 Neo4j能否通過適當的索引在1-5秒內遍歷100萬個節點而不會出現性能故障?

現在,請指導我是否可行。 以前已經做過這種事情的人。 您在這方面的任何一點指導對我都是非常有用的。

謝謝

P / s:我附上一些項目關系圖,以使您更加了解。 請問您是否需要我的更多意見。

https://drive.google.com/file/d/0B-XA2uVZaFFTWDdwUEViZ2ZsbkE/edit?usp=sharing

https://drive.google.com/file/d/0B-XA2uVZaFFTTGV4d1IySXlWRGs/edit?usp=sharing

不久前,我發布了一個非托管擴展,它代表一種活動流。 隨意看看,您可以通過簡單的http-REST調用從PHP中使用它。

https://github.com/jexp/neo4j-activity-stream

領域模型的圖片在這里:

在此處輸入圖片說明

是的,即使保存在內存中,1000萬個關系和1M個節點也應該沒有問題。 為了加快檢索速度,我將使用Java構建服務器擴展,並使用嵌入式API甚至Cypher,並公開與PHP環境進行通信的自定義REST端點,請參閱http://docs.neo4j.org/chunked/milestone/server -plugins.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM