2

我需要在 Cassandra 中创建一个带有复合键 (Player,Match) 的列族 (PlayerGoals) 我想将其定义为超级列,但我读到使用超级列不是一个好主意。

我需要代表的一个例子是:

球员目标:

Player: 1
    Match: 2
        Goals - 0
    Match: 3
        Goals - 2
Player: 2
    Match: 2 
        Goals - 1

……

4

1 回答 1

1

您可以使用复合键来存储它,其中键是 Player:Match,如下所示:

1:2
  Goals = 0
1:3
  Goals = 2
2:2
  Goals = 1

使用此架构,您可以:

  • 获取玩家的所有比赛
  • 为玩家获得最高/最低/等目标
  • 找出一组玩家中的哪一个参加了比赛
  • 按进球数对已知球员列表进行排序

您需要一个单独的索引来:

  • 让球员参加比赛
  • 排名未知玩家
于 2012-09-21T18:06:37.233 回答