所以我需要一個可以爲大約3億用戶存儲信息的數據庫。每個用戶都有兩個向量:其5種喜愛的物品,和他們的5名最相似的用戶(這些用戶也包含在用戶設定)用於多對多陣列關係的cassandra模式數據設計
例如:
preferences users
user | item user | user
-------------- --------------
user1 | item1 user1 | user2
user1 | item2 user1 | user4
user1 | item3 user2 | user8
user2 | item3 . . .
user2 | item4
. . .
所以基本上我需要兩個表,這兩個多多種關係,而且都相對較大。 我一直在探索卡桑德拉(但我打開其他解決方案),我想知道如何定義架構,以及我需要什麼類型的索引來優化和正常工作。
我需要在兩種方式查詢:當然
1.By用戶,並通過任何項目
2.在他們的名單。 (所以我可以得到一個具有相同喜歡的項目的用戶列表)
我已經設置了cassandra並開始搞亂它,但我不能甚至讓列表工作,因爲我需要'複合'主鍵?我不明白爲什麼。
任何幫助/推在正確的方向是非常感謝。
謝謝!
..uh ......讀我自己的崗位實現其有點不清楚。 ONDB具有主要 - 次要關鍵實現,因此所有小部分都集中在本地主要密鑰空間。所以你需要user_id-favorite和user_id-類似於鍵。然後,您可以高效地獲取其中一個或兩個值。重要的一點是選擇一個好的user_id keyspace來獲得良好的分配。 – greeneman