✍️ 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:
-
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.
-
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\.
-
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).
-
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;