Правильный способ структурировать таблицу Cassandra для отображения статистики НХЛ - PullRequest
1 голос
/ 19 июня 2020

Я застрял на правильном пути структурирования моих таблиц Cassandra для хранения данных статистики игроков NHL.

Сначала у меня было 3 таблицы, структурированные как:

CREATE TABLE statsBySeason_points (playerId int, playerName text, season text, goals int, assists int, points int PRIMARY KEY(season, points/goals/assists)) WITH CLUSTERING ORDER BY (points/goals/assists DESC);

, а для запроса я бы использовал WHERE season=?

Этот способ не позволяет мне иметь игроков с одинаковым количеством очков в одном сезоне, поскольку первичный ключ в конечном итоге будет таким же .

Я также подумал о его структурировании, чтобы каждый сезон имел свою собственную таблицу и использовал PRIMARY KEY (playerId, points), однако этот способ не сортируется по очкам, поскольку все они имеют уникальные идентификаторы playerIds.

В принципе, я не могу придумайте способ, который позволит мне искать игроков, используя только значение season, и сортировать их без сортировки после поиска. Возможно ли такое?

Спасибо

1 Ответ

1 голос
/ 19 июня 2020

Это позволяет искать сезон и сортировать по очкам, голам, передачам

PRIMARY KEY ((season), points, goals, assists, playerId)

...