Cassandra Esempio di creazione, modifica e troncamento di una tabella CQL.
โก Riepilogo intelligente
Cassandra Le operazioni di tabella comprendono la creazione, la modifica e l'eliminazione.pinge il troncamento delle famiglie di colonne con CQL. Questa pagina spiega ogni comando, le tre forme di chiave primaria che determinano la distribuzione dei dati e le differenze tra la rimozione di righe e la rimozione di una tabella.

La sintassi di Cassandra Il linguaggio di interrogazione (CQL) assomiglia a SQL Lingua.
Come creare una tabella in Cassandra
Famiglia di colonne dentro Cassandra รจ simile alla tabella RDBMS. La famiglia di colonne viene utilizzata per archiviare i dati.
Il comando "Crea tabella" viene utilizzato per creare una famiglia di colonne in Cassandra.
Sintassi
CREATE TABLE KeyspaceName.TableName ( ColumnName DataType, ColumnName DataType, ColumnName DataType, PRIMARY KEY (ColumnName) ) WITH PropertyName = PropertyValue;
1. Chiave primaria: Ci sono due tipi di chiave primaria.
- Chiave primaria singola: La chiave primaria singola รจ specificata dalla seguente sintassi.
Sintassi
PRIMARY KEY (ColumnName)
Nella chiave primaria singola, c'รจ solo una singola colonna. Quella colonna รจ anche chiamata chiave di partizionamento. I dati vengono partizionati in base a tale colonna. I dati vengono distribuiti su diversi nodi in base alla chiave di partizione.
2. Chiave primaria composta: La chiave primaria composta รจ specificata dalla seguente sintassi.
Sintassi
PRIMARY KEY (ColumnName1, ColumnName2, ...)
Nella sintassi precedente, ColumnName1 รจ la chiave di partizionamento e ColumnName2 รจ il Clusterchiave di ing. I dati saranno partizionati in base a ColumnName1 e i dati saranno raggruppati in base a ColumnName2. Clustering รจ il processo che ordina i dati nella partizione.
3. Chiave di partizionamento composta: La chiave di partizionamento composta รจ specificata dalla seguente sintassi.
Sintassi
PRIMARY KEY ((ColumnName1, ColumnName2), ColumnName3)
Nella sintassi sopra riportata, ColumnName1 e ColumnName2 rappresentano la chiave di partizionamento composta. I dati verranno partizionati in base a entrambe le colonne ColumnName1 e ColumnName2 e raggruppati in base a ColumnName3. Se la quantitร di dati in una singola partizione รจ eccessiva, si utilizza una chiave di partizionamento composta. Quest'ultima viene utilizzata per creare piรน partizioni per i dati.
- Con clausola
La "clausola With" viene utilizzata per specificare qualsiasi proprietร e il relativo valore per la tabella definita. Ad esempio, se vuoi comprimere Cassandra dati della tabella. ร possibile impostare la proprietร di compressione specificando il valore della proprietร dell'algoritmo di compressione nella clausola "With". La stessa clausola imposta anche CLUSTERING ORDER BY per invertire la direzione di ordinamento di una colonna di clustering e default_time_to_live per far scadere automaticamente ogni riga.
Esempio
Ecco l'esecuzione del comando "Crea tabella" che creerร il nome della tabella "Studente" nello spazio delle chiavi "Universitร ".
CREATE TABLE University.Student ( RollNo int, Name text, dept text, PRIMARY KEY (RollNo) );
Dopo la corretta esecuzione del comando 'Crea tabella', verrร creata la tabella 'Student' nello spazio dei nomi 'University' con le colonne RollNo, Name e dept. RollNo รจ la chiave primaria. RollNo รจ anche una chiave di partizione, quindi ogni studente occupa una partizione separata a riga singola.
Cassandra Modifica tabella
Il comando "Modifica tabella" viene utilizzato per eliminare una colonna, aggiungere una nuova colonna, modificare il nome della colonna, modificare il tipo di colonna e modificare la proprietร della tabella.
Sintassi
Di seguito รจ riportata la sintassi del comando 'Alter Table'.
ALTER TABLE KeyspaceName.TableName ADD ColumnName ColumnDataType; ALTER TABLE KeyspaceName.TableName DROP ColumnName; ALTER TABLE KeyspaceName.TableName RENAME ColumnName TO NewColumnName; ALTER TABLE KeyspaceName.TableName WITH PropertyName = PropertyValue;
Ogni modulo viene emesso come dichiarazione separata. Due restrizioni si applicano attualmente Cassandra Novitร : il tipo di dati di una colonna esistente non puรฒ piรน essere modificato e RENAME funziona solo su una colonna di clustering della chiave primaria.
Esempio
Ecco l'istantanea del comando 'Alter Table' che aggiungerร una nuova colonna nella tabella Student.
ALTER TABLE University.Student ADD Semester int;
Dopo aver eseguito con successo il comando 'Alter Table', una nuova colonna 'Semester' con il tipo di dati 'int' verrร aggiunta alla tabella Student.
Ecco lo screenshot che mostra la tabella Studente aggiornata.
Cassandra Drop table
Il comando 'Drop table' elimina la tabella specificata, inclusi tutti i dati dallo spazio dei dati. Prima dell'eliminazioneping il tavolo, Cassandra esegue uno snapshot dei dati e non dello schema come backup.
Sintassi
DROP TABLE IF EXISTS KeyspaceName.TableName;
Esempio
Ecco l'istantanea del comando eseguito "Drop Table" che eliminerร la tabella Student dallo spazio delle chiavi "University".
DROP TABLE University.Student;
Dopo aver eseguito con successo il comando 'Drop Table', la tabella Student verrร eliminata dallo spazio delle chiavi University.
Ecco lo snapshot che mostra l'errore restituito dal file Cassandra quando si tenta di accedere alla tabella Studente che non esiste.
Cassandra Tronca tabella
Il comando 'Tronca tabella' rimuove tutti i dati dalla tabella specificata. Prima di troncare i dati, Cassandra prende l'istantanea dei dati come backup.
Sintassi
TRUNCATE KeyspaceName.TableName;
Esempio
Nella tabella Studente sono presenti tre record. Questi sono i record della tabella.
Ecco l'istantanea del comando eseguito 'Tronca tabella' che rimuoverร tutti i dati dalla tabella Studente.
Dopo aver eseguito con successo il comando 'Tronca tabella', tutti i dati verranno rimossi dalla tabella Studente.
Ecco l'istantanea dello stato del database in cui non sono presenti record nella tabella Studente.
L'operazione di troncamento richiede che ogni nodo sia raggiungibile, poichรฉ viene eseguita simultaneamente sull'intero cluster. Se un nodo non รจ disponibile, l'operazione fallisce; si tratta di una misura di sicurezza intenzionale per evitare la perdita di dati parziali.
Drop vs Truncate vs Delete in Cassandra
Esistono tre comandi per la rimozione dei dati, e la scelta di quello sbagliato puรฒ distruggere uno schema o causare problemi di prestazioni.
| Comando | Ciรฒ che rimuove | Schema mantenne | Costo |
|---|---|---|---|
| TABELLA DI GOCCIA | Tutte le righe e la definizione della tabella | Non | Economici. Gli SSTable vengono campionati e poi scartati. |
| TRONCARE | Tutte le righe | Si | Economico, ma richiede che tutti i nodi siano attivi. Non vengono create lapidi. |
| DELETE | Righe o colonne selezionate | Si | Costoso su larga scala. Ogni rimozione scrive una lapide che recita: deve saltare fino alla compattazione. |
La regola pratica รจ preferire TRUNCATE a una DELETE di massa quando si cancella un'intera tabella, perchรฉ migliaia di tombstone rallenteranno ogni successiva lettura di quella partizione. La rimozione a livello di riga รจ trattata in Inserimento, aggiornamento ed eliminazione in CQL tutorial.








