Кассандра: создание ключа раздела

У меня есть таблица ученика (идентификатор, оценки, оценка) в кассандре. я создал таблицу с идентификатором в качестве первичного ключа. Мне нужно отсортировать таблицу по счету, и я не создал ключ раздела для оценки. Как создать ключ раздела без пересоздания таблицы?


person Vignesh Mohan    schedule 15.08.2016    source источник


Ответы (2)


Cassandra не позволяет изменять первичный ключ, поскольку первичный ключ определяет, как данные будут физически храниться на диске. Если вы действительно хотите его изменить, как вы уже упоминали, единственный способ - создать новую таблицу с другим первичным ключом и перенести все данные в новую таблицу.

В вашей новой таблице вам, вероятно, по-прежнему понадобится идентификатор в качестве ключа раздела (при условии, что вы знаете идентификатор во время запроса) и оценку как столбец кластеризации. Это позволит вам найти определенный идентификатор, а затем отсортировать его по баллам, связанным с этим разделом.

person Abhishek Garg    schedule 15.08.2016

Функция Материализованные представления в Cassandra 3.0 позволяет получить новое представление с другим столбцом в качестве ключа раздела. Представление можно добавить без повторного создания таблицы.

Подробное обсуждение того, когда и когда их не использовать, можно найти здесь.

person Zanson    schedule 15.08.2016