2013-08-21 270 views
0

假设我有一个庞大的按流派分类的电影列表。用户可以投票选出电影,每部电影可以有多种类型。卡桑德拉数据模型设计

是什么,如果我想现在每个类别的前X电影,这些信息存储在卡珊德拉的好办法?请忽略其他用例,因为我可以根据需要提供其他列族(例如,呈现详细的电影信息)。

行动

  1. 电影A
  2. 电影B
  3. 电影Ç

喜剧

  1. 电影d
  2. 电影Ë
  3. 电影A

回答

0

基于-I说,你只给了要求,以创建单个列族你提供的信息。

列会 - 影片名称,类别,以及对电影的任何其他属性。

这是很常见的创建具有不同的结构,就像一些列族“物化视图”原始列的家庭。

在卡桑德拉你设计基于应用程序将如何使用它列族。所以,你首先设计你的查询,然后设计列族来支持它。

+0

是的,我想要一些关于如何设计这个单列家族的指导。我想问的是这个专栏的样子。例如,我可以说,我的专栏的家人将有一个复合主键基于流派,number_of_votes和MOVIE_NAME,并使用'聚类ORDER BY(number_of_votes DESC)'这样我可以说:SELECT * FROM电影WHERE类型= '行动'LIMIT 5'获得前5名动作片。问题在于我需要为每个流派进行一次查询,最重要的是,由于它是主键的一部分,我无法更新票数。 – user1845791