2013-08-24 6 views
11

Я использую Cassandra 1.2.5. После создания семейства столбцов в Cassandra с использованием cassandra-cli можно ли изменить первичный ключ в семействе столбцов с помощью cassandra-cli или CQL?Первичный ключ семейства столбцов alter cassandra с использованием cassandra-cli или CQL

В частности, я в настоящее время имею следующую таблицу (от CQL):

CREATE TABLE "table1" (
    key blob, 
    column1 blob, 
    value blob, 
    PRIMARY KEY (key, column1) 
); 

Я хотел бы таблицу по следующей формуле, без необходимости удалить и заново создать таблицу:

CREATE TABLE "table1" (
    key blob, 
    column1 blob, 
    value blob, 
    PRIMARY KEY (key) 
); 

Возможно ли это через cassandra-cli или CQL?

ответ

16

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

Ключ раздела определяет, какой узел хранит данные. Он отвечает за распределение данных по узлам. Дополнительные столбцы определяют кластерную разбивку (см. compound key documentation).

Таким образом, при изменении первичного ключа всегда необходимо перенести все данные. Я не думаю, что либо у cqlsh, либо у cassandra-cli есть команда для этого (по состоянию на 2015 год).