2013-08-24 14 views
11

Sto utilizzando Cassandra 1.2.5. Dopo aver creato una famiglia di colonne in Cassandra usando cassandra-cli, è possibile modificare la chiave primaria della famiglia di colonne usando cassandra-cli o CQL?Modificare la chiave primaria della famiglia cassandra con cassandra-cli o CQL

Specificamente, ho attualmente tabella seguente (da CQL):

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

desidero tabella per i seguenti, senza dover eliminare e ricreare la tabella:

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

Questo è possibile tramite cassandra-cli o CQL?

risposta

16

Le chiavi primarie determinano direttamente come e dove cassandra memorizza i dati contenuti in una tabella (famiglia di colonne). La chiave primaria è composta da chiave di partizione e chiave di clustering (opzionale).

La chiave di partizione determina quale nodo memorizza i dati. È responsabile della distribuzione dei dati tra i nodi. Le colonne aggiuntive determinano il clustering per-partizione (vedere compound key documentation).

Pertanto, la modifica della chiave primaria richiede sempre la migrazione di tutti i dati. Non credo che cqlsh o cassandra-cli abbiano un comando per questo (a partire dal 2015) ..