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

⚙️ CAPÍTULO 04: SETUP POLIGLOTA E CONEXÕES

Bem-vindo à preparação do seu ambiente. A engenharia de plataformas modernas exige o domínio de diferentes ecossistemas. Você aprenderá a configurar um ambiente Poliglota, suportando tabelas e documentos. 🛡️🧩


🎯 Objetivo Curricular

Configurar e validar a conectividade local de bancos de dados relacionais (MySQL 8.4 e PostgreSQL 17) e bancos NoSQL (MongoDB e Cassandra). Compreender o papel das portas, serviços e variáveis de ambiente no ecossistema.


🏢 O Cenário Prático (Seu Desafio)

Você lidera a nova célula de Engenharia de Dados da TecProExpress. A equipe de backend desenvolveu um novo painel administrativo, mas eles não conseguem se conectar ao banco de dados porque as portas estão bloqueadas ou os serviços não foram iniciados.

"Seu desafio é criar um laboratório local na sua máquina, garantindo que o PostgreSQL (Relacional) e o MongoDB (NoSQL) rodem simultaneamente em portas diferentes, sem conflitos, provando a saúde do ambiente com testes DDL/DML."


🧠 Fundamentos: Anatomia de um Serviço

Quando instalamos um banco de dados, não instalamos apenas uma "pasta de arquivos". Instalamos um Serviço (Daemon/Background Worker) que fica ouvindo por chamadas.

📊 Comunicação Cliente-Servidor

flowchart LR
    C1["👤 Desenvolvedor<br/>(DBeaver / Compass)"] --> P{"Porta Lógica"}
    P -- 5432 --> S1[("🐘 PostgreSQL Server")]
    P -- 27017 --> S2[("🍃 MongoDB Server")]
    
    style P fill:#ffcc80,stroke:#e65100

🔍 Detalhamento das Conexões:

  • Localhost (127.0.0.1): Endereço que aponta para a sua própria máquina.
  • Porta (Port): O "guichê" de atendimento. Cada banco tem uma porta padrão. Se dois bancos tentarem usar a mesma porta, o serviço cai.

🐘 SETUP RELACIONAL: PostgreSQL e MySQL

1. Download e Instalação

Para SGBDs relacionais pesados, usamos versões nativas LTS (Long Term Support).

  • PostgreSQL 17: Acesse o portal da EnterpriseDB. A porta padrão é a 5432.
  • MySQL 8.4: Acesse o MySQL Installer. A porta padrão é a 3306.

[!IMPORTANT] A Senha Mestra: Durante a instalação, você criará a senha para os superusuários (postgres ou root). O banco de dados é implacável: se você perder essa senha, terá que reinstalar todo o sistema e perderá os dados. Anote em local seguro!


🍃 SETUP NOSQL: MongoDB e Cassandra

1. MongoDB (Documentos Flexíveis)

Para dados não estruturados, como os logs das entregas da TecProExpress.

  • Servidor: Baixe o MongoDB Community Server 7.0+. Porta padrão: 27017.
  • Cliente: A instalação já traz o MongoDB Compass, que é a interface gráfica (IDE).

2. Apache Cassandra (Big Data via Docker)

Para lidar com bilhões de registros (ex: dados de GPS dos caminhões), usamos o Cassandra. Para evitar configurar a máquina virtual Java (JVM) na sua máquina, usaremos Docker.

-- Passo 1: Baixar e rodar a imagem do Cassandra pelo terminal
docker run --name cassandra-tecpro -p 9042:9042 -d cassandra

📖 Exemplo Guiado: Validando o Setup (DDL -> DML)

A melhor forma de testar se a instalação do PostgreSQL ou MySQL funcionou é criar e povoar uma tabela de testes.

🛠️ Código de Validação

Abra o pgAdmin 4 (ou DBeaver), crie um banco de dados chamado teste_db e execute o script abaixo:

-- PASSO 1: DDL (Criar a estrutura de testes)
CREATE TABLE validacao_ambiente (
    id INT PRIMARY KEY,
    status_servidor VARCHAR(50)
);

-- PASSO 2: DML (Inserir os dados de teste)
INSERT INTO validacao_ambiente (id, status_servidor) VALUES (1, 'Setup Relacional Ativo na TecProExpress!');

-- PASSO 3: Query (Verificar a inserção)
SELECT * FROM validacao_ambiente;

🔍 Detalhamento do Teste:

  • O sucesso na execução deste bloco inteiro garante que a instalação do serviço e a permissão do usuário postgres estão perfeitamente saudáveis.

🛠️ Prática Obrigatória: Conectando a Nave-Mãe

Cenário: O ambiente de testes locais.

  1. Garanta que o Postgres (5432) e o Mongo (27017) estão ativos nos serviços do Windows/Mac.
  2. Abra a interface (pgAdmin/Compass).
  3. Crie as conexões.
  4. No MongoDB Compass, crie uma base de dados (Database) chamada tecpro_nosql e uma coleção chamada teste_conexao. Insira um documento qualquer em JSON para validar.

🏁 Resultado Esperado

Duas janelas verdes na sua máquina atestando que os motores relacional e documental operam simultaneamente sem choque de recursos.


📤 Instruções de Entrega (Microsoft Teams)

Após validar seus códigos práticos e de estudo:

Use o operador e para critérios rigorosos e ou para critérios flexíveis. Salve os arquivos com a extensão .sql (Ex: Atividade_XX_SeuNome.sql ou Atividade_XX_SeuNome.png ou Atividade_XX_SeuNome.drawio


💡 Checkpoint de Lógica

[!TIP] Dica do Especialista: Quando você rodar o Cassandra via Docker, a bandeira -d (detach) no comando permite que o terminal fique livre enquanto o banco roda silenciosamente nos bastidores. A conteinerização é o futuro da arquitetura de dados! 🚀🛡️