我正在設計卡桑德拉的密鑰空間,它將保存關於用戶組的信息。關於它的一些信息:卡桑德拉模式使用集合集合或多行
- 只有通過請求哪些用戶包含在某個組中並更新組中包含的用戶才能訪問此數據。
- 閱讀將比寫作更頻繁。
- 每個組可以包含多達20,000用戶ID
我有我考慮這兩個設計。每組
- 多行:該表將具有TEXT類型的兩列和主鍵(組ID,用戶名),並讀取用戶的組將由
select * from table where GroupID = {GroupID}
完成的,並會返回儘可能多的行,被鍵入該組中有用戶。 - 使用Cassandra集合集合的每行一行:該表將包含兩列,即TEXT類型的第一個(GroupID)和SET [TEXT]類型的第二個(用戶標識符),並在Pimary鍵(GroupID)上鍵入。在gorup中讀取用戶將由
select * from table where GroupID = {GroupID}
完成,並將返回單個行,其中包含UserIDs列集中的用戶標識集。
我找不到很多關於這種情況下更好的設計的文檔。任何想法或利弊兩種情況?