我正在尝试在Cassandra中建模多对多的关系,例如Item-User关系。用户可以喜欢许多物品,而物品也可以被许多用户购买。假设“喜欢”事件发生的顺序不是一个问题,并且最常用的查询是根据物品和用户返回“喜欢”。
有一些帖子讨论数据建模的问题,请参考这里。
另一种方法是在用户表中存储一组ItemID以表示该用户喜欢的物品,并在CQL3的Items表中执行类似的操作。
问题:
有一些帖子讨论数据建模的问题,请参考这里。
另一种方法是在用户表中存储一组ItemID以表示该用户喜欢的物品,并在CQL3的Items表中执行类似的操作。
问题:
- 使用集合会影响性能吗?我认为它们转换为复合列? 因此读取模式、缓存和其他因素应该类似?
- 对于写入频繁的应用程序,集合的性能是否较差?频繁更新集合是否性能较差?
items_by_user
表,那么在读取数据时我将不得不进行单独的 SELECT 查询吗? - Manish KumarSelect id FROM table1
,然后SELECT col FROM table2 where rowId = <来自第一个表的id>
。 - Manish Kumar