Tutorial: Como Criar e Gerenciar um Keyspace e Tabela no Cassandra usando Docker


1. Preparação do Ambiente

Antes de tudo, você precisa ter o Docker configurado e o Cassandra rodando em um container. Aqui estão os passos básicos:

  1. Verifique a versão do Docker:

     docker --version
    
  2. Baixe a imagem do Cassandra:

     docker pull cassandra
    
  3. Crie um diretório local para persistência dos dados:

     sudo mkdir -p /opt/cassandra
    
  4. Inicie o container Cassandra:

     docker run --name cassandra -p 9042:9042 -v /opt/cassandra:/var/lib/cassandra -d cassandra
    
  5. Acesse o container:

     docker exec -it cassandra bash
    

2. Conectando ao Cassandra via CQLSH

  1. Entre no cqlsh (shell interativo do Cassandra):

     cqlsh
    

    Isso abrirá o prompt do Cassandra, onde você pode executar comandos SQL para interagir com o banco de dados.


3. Criando o Keyspace

Agora, vamos criar o keyspace, que é como um banco de dados no Cassandra.

  1. Comando para criar o Keyspace:

     CREATE KEYSPACE minhakeyspaceCetec
     WITH replication = {
       'class': 'SimpleStrategy',
       'replication_factor': 1
     };
    
    • SimpleStrategy é uma boa escolha para ambientes de desenvolvimento.

    • replication_factor: 1 indica que há uma cópia dos dados no cluster.

  2. Verifique se o Keyspace foi criado:

     DESCRIBE KEYSPACES;
    

4. Usando o Keyspace Criado

Agora que o keyspace está criado, precisamos definir que iremos utilizá-lo.

  1. Comando para usar o Keyspace:

     USE minhakeyspaceCetec;
    

5. Criando a Tabela alunos

Vamos criar uma tabela para cadastrar os alunos, com os seguintes campos: id, nome, email, idade, e curso.

  1. Comando para criar a tabela alunos:

     CREATE TABLE alunos (
         id UUID PRIMARY KEY,
         nome TEXT,
         email TEXT,
         idade INT,
         curso TEXT
     );
    
    • id: UUID (identificador único) para garantir que cada aluno tenha um ID único.

    • nome, email, idade, curso: campos típicos para cadastro de alunos.


6. Inserindo Dados na Tabela

Agora que a tabela está pronta, podemos inserir alguns dados de exemplo.

  1. Comando para inserir um aluno:

     INSERT INTO alunos (id, nome, email, idade, curso)
     VALUES (uuid(), 'João Silva', 'joao.silva@cetec.edu', 21, 'Engenharia de Software');
    
    • Usamos o uuid() para gerar um identificador único para o aluno João Silva.

7. Consultando os Dados

Por fim, vamos consultar todos os alunos cadastrados na tabela.

  1. Comando para consultar todos os alunos:

     SELECT * FROM alunos;
    

Conclusão

Com esses passos, você aprendeu a:

  1. Configurar o Cassandra no Docker.

  2. Criar um keyspace e uma tabela no Cassandra.

  3. Inserir e consultar dados na tabela de alunos.


Dicas Finais