2016-08-15 4 views
0

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

ответ

2

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

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

0

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

Существует хорошее обсуждение того, когда и когда не использовать их here.

Смежные вопросы