我正在研究POC以展示卡桑德拉如何工作。我以Digg爲例。我想創建一個數據模型,讓我:卡桑德拉數據模型
1)添加鏈接 2)添加一個鏈接到用戶收藏夾列表。 3)添加預定標記,以鏈接
我想出了具有兩個列族:
鏈接
- url是關鍵
- ID(生成UUID)
- 用戶(誰加了它)
- favCount(我們沒有ERS誰收藏的鏈接)
- UPCOUNT(沒有誰喜歡它的用戶)
- 向下計數(沒有誰不喜歡它的用戶)
- url是關鍵
UserFavs的
- 用戶是鍵
- id(與用戶收藏的許多ID一樣)
- 用戶是鍵
這工作正常需求#1和上述第2條,但是當我來到#3它變得棘手。我可以在鏈接列系列中添加標記,如'java','語言','架構'作爲具有空值的列名稱。但是查詢需要很長時間,比如說,如果我要找出所有在'java'下標記的鏈接。
任何人都可以拋出一些關於如何實現的想法。
如果我不清楚這個問題,請讓我知道。
感謝,庫馬爾
由於DNA。有沒有辦法做到這一點,而不需要另一個列家族?不得不插入到兩個不同列家族的鏈接的缺點是,由於cassandra在多列家族級別沒有交易(我記得那樣,但我可能是錯的),可能會發生鏈接插入鏈接列家族中,但不插入標籤標籤列族中。還是我讓你完全錯了?如果是這樣,請具體說明您的建議。謝謝 – KumarM
你對交易是正確的 - 這是Cassandra設計的限制。可以使用重試或撤消來應付這種情況(實際上這種情況非常罕見,特別是如果兩個插入都是在同一個消息中發送的話)。 – DNA