簡體   English   中英

如何在卡桑德拉建立朋友關系

[英]How to structure friend relation in cassandra

我目前在Cassandra中有一個用戶表。

我想創建一個朋友關系表,但是我不確定什么是最好的方法。 首先,我想把當前用戶作為鍵,將列作為朋友,但是我不希望實現發送朋友請求的功能,所以我認為應該有另一個對象被接受,它可以照顧兩個人是否是真正的朋友,或者說是真實的朋友。其他人是否接受了朋友的請求。 我認為這將是“多對多”表。 例如在友誼關系中。

Friendship: {
John Dow: {
10: Mark Seldon,
8: Julian Hendrix,
...
},
Mark Seldon: {
9: John Dow,
...
},
...
}

任何方向表示贊賞。

這似乎可以通過創建一個新表“ friends”來實現,在該表中您可以(例如)在CQL中使用“復合鍵” {userid,friendid}:

CREATE TABLE friends(    
userid varchar,
friendid varchar,
PRIMARY KEY (userid, friendid)
);

這將定義兩個用戶之間的“友誼”關系(都在Users表中有一個條目)...這將允許您查詢以下幾件事:

  • 得到“ userid”的所有朋友
  • 檢查userid和“用戶x”(具有給定的Friendid)是否存在

這也意味着,無論何時存儲關系,都需要在表中創建兩個“條目”:{user1,user2}和{user2,user1} ...

暫無
暫無

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

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