Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

✍️ SETUP NOSQL (MongoDB e Cassandra)

A engenharia de plataformas modernas exige o domínio de diferentes ecossistemas NoSQL. Abaixo, você configurará o ambiente orientado a documentos (MongoDB) e, logo em seguida, o ecossistema distribuído de alta escala (Apache Cassandra 4.x). 🛡️🧩


🍃 PARTE 1: SETUP MONGODB 7.0

📗 PASSO 1: Preparando o Ambiente

Para explorar a flexibilidade dos bancos de dados orientados a documentos, você deve configurar o ecossistema MongoDB em sua máquina Windows. Siga os passos técnicos abaixo:

  1. Download do Community Server Acesse o portal oficial mongodb.com/try/download/community e selecione a versão mais recente em formato MSI para Windows.

  2. Configuração do Servidor (v7.0 LTS) Execute o instalador e escolha a opção "Complete".

    • ⚙️ Instalar como Serviço: Marque a opção "Install MongoDB as a Service" para que ele inicie automaticamente.
    • 🔌 Porta de Comunicação: O padrão universal do MongoDB é a 27017.
    • 📁 Diretórios de Dados: Mantenha os caminhos padrão em C:\Program Files\MongoDB\Server\7.0\data\.
  3. Interface Visual (MongoDB Compass) Durante a instalação, certifique-se de manter marcada a opção "Install MongoDB Compass". Ele é a IDE gráfica onde visualizaremos nossos documentos JSON (BSON).

  4. Ferramenta de Linha de Comando (mongosh) Para interagir via terminal, recomendamos o MongoDB Shell (mongosh). Ele pode ser instalado separadamente via Download Center.


📗 PASSO 2: Conectando a IDE (Compass)

O erro clássico ao iniciar com NoSQL é confundir o servidor local com a nuvem (Atlas). Veja como se conectar corretamente: 🛡️

  • 🏠 Conexão Local (Instalação Padrão): Ao abrir o Compass, a tela de New Connection traz a URI padrão mongodb://localhost:27017. Apenas clique em Connect. (Na instalação local de laboratório não há usuário/senha).
  • ☁️ Conexão Distribuída (MongoDB Atlas): Se o projeto utilizar o banco oficial da nuvem MongoDB, a plataforma te dará uma Connection String complexa (ex: mongodb+srv://aluno:senha123@cluster-dev.mongodb.net/). Cole o link na barra de conexão do Compass e clique em Connect.

💡 Nota do Especialista: O MongoDB sem senha local é prático para estudar, mas em produção a segurança de controle de acesso (RBAC) é absolutamente inegociável! 🚀🛡️




⚙️ PARTE 2: SETUP APACHE CASSANDRA 4.x

Bem-vindo à engenharia de Alta Disponibilidade Clássica. Para interagir com o massivo volume de dados promovido pelo Big Data, o Apache Cassandra será configurado via orquestração de containers.

📗 PASSO 1: A Natureza do Ecossistema Peer-to-Peer

O Cassandra possui uma forte diferença de softwares tradicionais: Não há um servidor "Mestre" e subordinados "Escravos". Todos os servidores (Nós) possuem os mesmos poderes e dividem matematicamente qual fatia dos dados cada um segura.

⚠️ Atenção (Reserva de Memória): O motor distribuído é faminto por recursos (baseado na Java Virtual Machine). Antes de iniciar, certifique-se de que o Docker Desktop na sua máquina esteja rodando e tenha pelo menos 4GB de RAM livres no Sistema Operacional.


📗 PASSO 2: Implementando via Docker Compose

Crie uma pasta de trabalho vazia (ex: C:\LabCassandra) e dentro dela crie um arquivo chamado docker-compose.yml. Adicione o manifesto abaixo:

version: '3.8'

services:
  cassandra-node1:
    image: cassandra:4.1
    container_name: cassandra
    restart: always
    ports:
      - "9042:9042" # Porta padrão nativa do protocolo CQL
    environment:
      - CASSANDRA_CLUSTER_NAME=LabCurso
      # Limitadores cruciais para que a máquina acadêmica não trave o seu PC
      - MAX_HEAP_SIZE=512M
      - HEAP_NEWSIZE=128M
    volumes:
      - cassandra_data:/var/lib/cassandra

volumes:
  cassandra_data:

Abra o Terminal nesta pasta e levante seu cluster rodando o comando: docker-compose up -d

📊 Arquitetura de Hospedagem Virtual

flowchart TD
    HOST[💻 Docker Host Windows] --> C_ENG[🐳 Engine Docker]
    C_ENG --> CONT[⚙️ Container: Cassandra 4.x]
    CONT --> VOL[(💾 Volume Permanente<br/>cassandra_data)]

📗 PASSO 3: Validando a Saúde do Nó (Ring)

Diferente de sistemas legados, no Cassandra utilizamos poderosas ferramentas nativas de telemetria. Escreva no seu terminal:

docker exec -it cassandra nodetool status

Para prosseguir, você deverá obrigatoriamente ver no Console as letras UN:

  • U = Up (O nó está Ligado e Operando via Gossip).
  • N = Normal (O nó está aceitando conexão cliente).

💡 Dica de Arquiteto: Você notará aí o campo de telemetria Load (Carga). No Cassandra, os bytes gravados se espalham em um anel de N servidores, portanto o Load exibe apenas a fração mínima individual daquele HD específico! 🚀


📗 PASSO 4: Conexão Interativa via CQLSH

Agora que nossa base opera estavelmente, invoque o cliente do shell de Cassandra Query Language (CQLSH):

docker exec -it cassandra cqlsh

Neste momento o terminal conectará exibindo "Connected to LabCurso na 127.0.0.1:9042". Diferente das outras pilhas SQL onde digitamos CREATE DATABASE, aqui criamos o nosso Keyspace, sendo obrigatório definir imediatamente a matemática da replicação geográfica.

Execute o CQL abaixo para ligar o Laboratório Acadêmico:

CREATE KEYSPACE loja_academica WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};

-- Entrando no ambiente ativo
USE loja_academica;