Cassandra exclua todas as linhas de uma mesa

Cassandra exclua todas as linhas de uma mesa
“Ao trabalhar com bancos de dados, há uma grande margem para erros, de corrupção humana ou de aplicação. Embora nós, como desenvolvedores, tomemos todas as medidas para mitigar a perda de dados, operações como backups e restauração podem não atender às necessidades específicas.

Portanto, você pode encontrar um cenário em que precisa executar uma redefinição no banco de dados ou em uma tabela específica. Este post ensinará como remover todos os dados de uma tabela Cassandra sem remover o esquema da tabela. Isso permite que você redefina todos os dados e comece do zero.”

Comando de truncate de Cassandra

Podemos usar o comando truncate para remover todos os dados de uma tabela específica, preservando o layout e o esquema da tabela.

Depois de executar o comando truncate, todos os dados são removidos da tabela e é impossível reverter, a menos que você tenha uma cópia de backup da tabela. Esta operação é aplicada em todos os nós do seu cluster de Cassandra. Isso garante que todos os dados sejam sincronizados em todos os nós.

A sintaxe do comando é como mostrado:

Truncado [tabela] [Keyspace_Name.Nome da tabela]

Se você já está no espaço de chave de destino, pode usar a sintaxe como mostrado:

Truncado [tabela] [tabela_name]

Antes de executar o comando truncate, verifique o seguinte:

  1. Todos os nós do cluster estão em funcionamento. Isso permite que a operação truncada seja aplicada em todo o cluster.
  2. A tabela de destino existe no espaço de chave.

Etapa 1 - selecione a tabela de destino

O primeiro passo é garantir que a tabela de destino exista no espaço.

Crie Keyspace

Antes de configurar qualquer dados de amostra, precisamos de um banco de dados para armazenar os dados. Podemos fazer isso criando um espaço de amostra.

A consulta é conforme fornecido abaixo:

cqlsh> crie o armazenamento de chaves com replicação = 'class': 'símersrategy', 'replicação_factor': 3;

A consulta acima cria um espaço de chave simples chamado Store com uma replicação_factor de 3. Se você não estiver familiarizado com as teclas de Cassandra, confira nosso tutorial sobre o assunto para saber mais.

Uma vez criado, podemos mudar para o espaço de chave com o comando:

cqlsh> use store;

Criar a tabela

O próximo passo é criar uma tabela segurando a estrutura para nossos dados. Lembre -se de que Cassandra pode lidar com dados não estruturados. No entanto, por simplicidade, tentaremos usar uma estrutura de tabela.

Podemos executar a consulta como mostrado:

CQLSH: Armazene> Criar inventário de tabela (Product_id Int, Product_name Text, Quantity Int, Price Int, Disponibilidade Booleana, Chave Primária (Product_id));

A consulta acima deve criar uma tabela de inventário com as colunas e tipos de dados especificados.

CQLSH: armazenar> Inserir no inventário (Product_id, Product_name, Quantidade, Preço, Disponibilidade)
… Valores (1, 'Meta Quest', 5, 399, verdadeiro);
cqlsh: armazenar> inserir no inventário (product_id, product_name, quantidade, preço, disponibilidade) valores (2, 'eco dot', 10, 27, verdadeiro);
cqlsh: armazenar> inserir no inventário (product_id, product_name, quantidade, preço, disponibilidade) valores (3, 'tile pro', 10, 26, false);
cqlsh: armazenar> inserir no inventário (product_id, product_name, quantidade, preço, disponibilidade) valores (4, 'monitor', 100, 499, false);
cqlsh: armazenar> inserir no inventário (product_id, product_name, quantidade, preço, disponibilidade) valores (5, 'laptop', 87, 700, verdadeiro);
Podemos então consultar a tabela como:
Selecione * no inventário;

A consulta acima deve retornar os registros armazenados na tabela, como mostrado:

Cassandra excluir todas as linhas

Para remover todos os dados do cluster, preservando o esquema da tabela, podemos executar o comando truncate:

Loja de tabela truncada.inventário;

Este comando deve limpar todos os dados da tabela enquanto ainda preservando a estrutura da tabela.

Conclusão

Este artigo abordou como usar o comando TRUNCATE TABLE para remover os dados de uma determinada tabela sem deixar cair a tabela ou a estrutura da tabela. Este é um ótimo comando ao redefinir a tabela sem recriá -la.

Obrigado pela leitura e codificação feliz!!