Cassandra Tabela CQL: Exemplo de Criação, Alteração e Truncamento
⚡ Resumo Inteligente
Cassandra As operações com tabelas abrangem criação, alteração e exclusão.pinge truncando famílias de colunas com CQL. Esta página explica cada comando, os três formatos de chave primária que definem a distribuição de dados e as diferenças entre remover linhas e remover uma tabela.

A sintaxe de Cassandra A linguagem de consulta (CQL) se assemelha a SQL língua.
Como criar uma tabela em Cassandra
Família de colunas em Cassandra é semelhante à tabela RDBMS. A família de colunas é usada para armazenar dados.
O comando 'Criar Tabela' é usado para criar família de colunas em Cassandra.
Sintaxe
CREATE TABLE KeyspaceName.TableName ( ColumnName DataType, ColumnName DataType, ColumnName DataType, PRIMARY KEY (ColumnName) ) WITH PropertyName = PropertyValue;
1. Chave primária: Existem dois tipos de chave primária.
- Chave primária única: A chave primária única é especificada pela sintaxe a seguir.
Sintaxe
PRIMARY KEY (ColumnName)
Na única chave primária, existe apenas uma única coluna. Essa coluna também é chamada de chave de particionamento. Os dados são particionados com base nessa coluna. Os dados são distribuídos em diferentes nós com base na chave de partição.
2. Chave primária composta: A chave primária composta é especificada pela seguinte sintaxe.
Sintaxe
PRIMARY KEY (ColumnName1, ColumnName2, ...)
Na sintaxe acima, ColumnName1 é a chave de particionamento e ColumnName2 é o Clusterchave de ing. Os dados serão particionados com base em ColumnName1 e os dados serão agrupados com base em ColumnName2. Clustering é o processo que classifica os dados na partição.
3. Chave de particionamento composto: A chave de particionamento composta é especificada pela sintaxe a seguir.
Sintaxe
PRIMARY KEY ((ColumnName1, ColumnName2), ColumnName3)
Na sintaxe acima, ColumnName1 e ColumnName2 são as chaves de particionamento compostas. Os dados serão particionados com base em ambas as colunas ColumnName1 e ColumnName2, e agrupados com base na coluna ColumnName3. Se você tiver muitos dados em uma única partição, uma chave de particionamento composta é utilizada. A chave de particionamento composta é usada para criar múltiplas partições para os dados.
- Com cláusula
“Cláusula With” é usada para especificar qualquer propriedade e seu valor para a tabela definida. Por exemplo, se você quiser compactar Cassandra dados da tabela. Você pode definir a propriedade de compressão especificando o valor da propriedade do algoritmo de compressão na cláusula "With". A mesma cláusula também define CLUSTERING ORDER BY para inverter a direção da classificação de uma coluna de agrupamento e default_time_to_live para expirar automaticamente a cada linha.
Exemplo
Aqui está a execução do comando 'Criar tabela' que irá criar a tabela com o nome 'Aluno' no keyspace 'Universidade'.
CREATE TABLE University.Student ( RollNo int, Name text, dept text, PRIMARY KEY (RollNo) );
Após a execução bem-sucedida do comando 'Criar tabela', a tabela 'Aluno' será criada no keyspace 'Universidade' com as colunas Matrícula, Nome e Departamento. Matrícula é a chave primária. Matrícula também é uma chave de partição, portanto, cada aluno ocupa uma partição separada de uma única linha.
Cassandra Alterar a tabela
O comando 'Alter Table' é usado para eliminar coluna, adicionar uma nova coluna, alterar o nome da coluna, alterar o tipo de coluna e alterar a propriedade da tabela.
Sintaxe
A seguir está a sintaxe do 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;
Cada formulário é emitido como uma declaração separada. Duas restrições se aplicam atualmente. Cassandra Lançamentos: o tipo de dados de uma coluna existente não pode mais ser alterado e a opção RENAME funciona apenas em uma coluna de agrupamento da chave primária.
Exemplo
Aqui está o instantâneo do comando 'Alter Table' que irá adicionar uma nova coluna na tabela Student.
ALTER TABLE University.Student ADD Semester int;
Após a execução bem-sucedida do comando 'Alterar Tabela', uma nova coluna 'Semestre' com tipo de dados 'int' será adicionada à tabela Aluno.
Aqui está a captura de tela que mostra a tabela Aluno atualizada.
Cassandra Drop table
O comando 'Drop table' remove a tabela especificada, incluindo todos os dados do keyspace. Antes de remover a tabela, execute o comando 'drop'.ping a mesa, Cassandra tira um instantâneo dos dados, não do esquema, como backup.
Sintaxe
DROP TABLE IF EXISTS KeyspaceName.TableName;
Exemplo
Aqui está o instantâneo do comando executado 'Drop Table' que eliminará a tabela Student do keyspace 'University'.
DROP TABLE University.Student;
Após a execução bem-sucedida do comando 'Drop Table', a tabela Student será eliminada do keyspace University.
Aqui está o instantâneo que mostra o erro retornado pelo Cassandra quando tentei acessar a tabela Aluno que não existe.
Cassandra Tabela Truncada
O comando 'Truncar tabela' remove todos os dados da tabela especificada. Antes de truncar os dados, Cassandra tira o instantâneo dos dados como backup.
Sintaxe
TRUNCATE KeyspaceName.TableName;
Exemplo
Existem três registros na tabela Aluno. Estes são os registros da tabela.
Aqui está o instantâneo do comando executado 'Truncar tabela' que removerá todos os dados da tabela Aluno.
Após a execução bem-sucedida do comando 'Truncar Tabela', todos os dados serão removidos da tabela Aluno.
Aqui está o instantâneo do estado do banco de dados onde não há registros na tabela Student.
O comando truncate exige que todos os nós estejam acessíveis, pois é executado em todo o cluster simultaneamente. Se algum nó estiver inativo, a instrução falhará, o que é uma medida de segurança deliberada para evitar que dados parciais sejam deixados para trás.
Descartar vs Truncar vs Excluir em Cassandra
Três comandos removem dados, e escolher o comando errado pode destruir um esquema ou causar problemas de desempenho.
| Command | O que isso remove | Esquema mantido | Custo |
|---|---|---|---|
| RETIRAR TABELA | Todas as linhas e a definição da tabela | Não | Barato. Os SSTables são capturados em um snapshot e depois descartados. |
| TRUNCAR | Todas as linhas | Sim | Barato, mas exige que todos os nós estejam ativos. Não são criadas lápides. |
| EXCLUIR | Linhas ou colunas selecionadas | Sim | Caro em grande escala. Cada remoção cria uma lápide com a inscrição "deve ser ignorada até a compactação". |
A regra prática é preferir o comando TRUNCATE em vez de um DELETE em massa ao limpar uma tabela inteira, pois milhares de marcadores de exclusão (tombstones) irão tornar cada leitura subsequente dessa partição mais lenta. A remoção em nível de linha é abordada em [referência]. Inserir, atualizar e excluir em CQL tutorial.








