簡體   English   中英

圖形數據庫返回社交網絡中2個人之間的常見朋友列表

[英]Graph database to return a list of common friends among 2 person in a social network

是否有任何圖形數據庫具有內置功能,可以返回2個或更多人中的普通朋友列表(就像在Facebook這樣的社交網絡中一樣)? 應盡快返回結果,而無需執行復雜的計算或遍歷數據庫。 如果沒有,實施的方式是什么? 那OriendDB呢? 結合使用圖數據庫和Redis怎么辦?

不確定特定的圖形數據庫(我是通過在redis上建立自己的圖形數據庫而來的),但是假設朋友意味着直接的聯系,找到共同的朋友非常簡單-只需從每個朋友那里獲取完整的朋友列表並計算交點即可。

Redis有一個命令可以以本地方式非常快速地執行此操作。 SQL查詢也相當簡單。 在任何圖形數據庫上都應該可以獲得單個節點的所有連接,即使您需要檢索完整列表並計算應用程序代碼中的交集,只要您不必與人打交道,性能就可能足夠了。有成千上萬的朋友。

更復雜的地方是處理間接關系-相交操作是相同的,但是在不遍歷圖形的情況下集合不會以所需的形式存在,因此在計算相交之前,您需要構建一組所有第二級連接對於每個用戶。 您可以將其作為查詢的第一步,也可以在連接更改時保持永久性集的更新-適當的方法取決於您是否需要針對數據使用和寫入性能或讀取性能進行優化。

暫無
暫無

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

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