2013-08-24 21 views
11

Używam Cassandra 1.2.5. Po utworzeniu rodziny kolumn w Cassandra przy użyciu cassandra-cli, czy można zmodyfikować klucz podstawowy w rodzinie kolumn za pomocą cassandra-cli lub CQL?Alter cassandra kolumna rodzina klucz podstawowy za pomocą cassandra-cli lub CQL

szczególności Obecnie następującej tabeli (od CQI)

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

Chciałbym tabeli w następujący sposób, bez konieczności usuwania i ponownego tabeli:

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

Czy to możliwe przez cassandra-cli lub CQL?

Odpowiedz

16

Klucze podstawowe bezpośrednio określają, jak i gdzie kasandra przechowuje dane zawarte w tabeli (rodzina kolumn). Klucz podstawowy składa się z klucza partycji i klucza klastrowania (opcjonalnie).

Klucz partycji określa, który węzeł przechowuje dane. Odpowiada za dystrybucję danych między węzłami. Dodatkowe kolumny określają grupowanie na partycje (patrz compound key documentation).

Dlatego zmiana klucza głównego zawsze wymaga migracji wszystkich danych. Nie sądzę, że albo cqlsh, albo cassandra-cli mają do tego polecenie (od 2015).

Powiązane problemy