🏁 CONSIDERAÇÕES FINAIS: UNIDADE VII (BIG DATA / CASSANDRA)
A essência da Arquitetura Distribuída separa os programadores dos Engenheiros de Dados de Alta Performance. Dominar a estratégia Masterless (Nó-a-Nó) molda profundamente o seu poder de escala em projetos que outrora sofreriam quedas drásticas no mundo corporativo. 🛡️🧩
Objetivo: Ratificar os axiomas do Cluster NoSQL, avaliando mentalmente decisões rigorosas de Query-Driven Modeling e Particionamento Físico de chaves compostas (Discos e Localização).
✅ Exercícios de Fixação: Partitioning & Ring Nodes
1. Sob o protocolo de espalhamento matemático em um cluster Ring (Anel) do Apache Cassandra, o que efetivamente o Protocolo GOSSIP entrega como valor insuperável à rede?
a) O Gossip transfere e copia a Primary Key inteira para o Banco Relacional.
b) O Gossip converte o tráfego Binário do Sistema Operacional local para formato JSON e retransmite para o mongosh.
c) O Gossip é o mensageiro vitalício (1 Segundo) onde os Servidores (Nós) atualizam reciprocamente o status uns dos outros, mapeando falhas ou lentidões da topologia (Cluster Health) de forma autonôma e descentralizada, sem precisar de um "Servidor Gerenciador Central".
d) O Protocolo Gossip apenas funciona na Nuvem AWS.
2. No paradigma Masterless, se o Nó Brasil recebe do aplicativo a instrução INSERT com um número de réplicas setado para 3 geografias globais, qual a função sistêmica deste nó específico no momento da operação?
a) Ele declina o insert exigindo que o Master do Japão aprove a Gravação.
b) Ele assume provisoriamente o cargo de Coordinator, executando cópias assíncronas paralelas aos outros nós-alvo ditados pelo Driver do App.
c) Ele armazena um arquivo XML de backup.
d) Ele inicia um ROLLBACK preventivo.
3. Uma Equipe tentou executar um SELECT por NOME DO CLIENTE em uma enorme Tabela desenhada com id_cliente como Partition Key Exclusiva. Eles não receberam resultado, mas sim um Erro Sistêmico. O Analista Júnior propôs usar brutalmente a clausura ALLOW FILTERING. O que ocorrerá com a corporação?
a) A pesquisa ocorrerá rápido e sem restrições usando Inteligência Artificial.
b) O Cluster sofrerá esgotamentos mortais de Timeout e lentidão, já que você ordenou que HDs do mundo inteiro (Sem critério Geográfico Hashing) varressem exaustivamente todos os registros da Tabela, quebrando a regra fundamental do roteamento por Particionamento.
c) O ALLOW FILTERING apenas ordena os resultados pelo alfabeto ASC.
d) O ALLOW FILTERING criará um Log Seguro.
🧠 Desafio de Modelagem (O Arquiteto Data-Driven vs Query-Driven)
O Problema (Mudança Brusca na Nuvem de Telemetria): Uma montadora RDBMS coletava a velocidade e temperatura dos Seus Carros e salvava tudo em PostgreSQL de forma linear. Toda vez que os Analistas queriam a "Temperatura do Motor X nos Últimos 10 Minutos", o banco de dados desmaiava rodando um milhão de Table Scans. O CTO mandou você migrar o sistema vital para Servidores Físicos Apache Cassandra (ScyllaDB em C++).
Você sabe que a Query Principal Vital é: "Quero TODAS as temperaturas coletadas de UM ESPECÍFICO Motor (motor_serial), ordenados dos registros Mais Recentes para os Mais Antigos!"
Sua Missão Arquitetural: Crie a Tabela Primária CQL perfeita (telemetria_por_motor), isolando quem será a Partition Key (Localidade do HDD do Ring) e quem será a dependente Clustering Key (Ordenando no próprio HDD no sentido Temporal Descendente).
➡️ Clique aqui para revelar os Gabaritos e Soluções (SPOILER) ⬅️
📊 Gabarito e Justificativas das Questões:
- Letra C. A robustez de ser "Descentralizado" não existiria sem a Fofoca constante alertando anomalias.
- Letra B. O Nó atingido vira o maestro provisório (Coordinator).
- Letra B. O Cassandra bloqueia o
ALLOW FILTERINGnas telas pois quer proteger a Infraestrutura física da Empresa de analistas incautos e acostumados com o RelacionalWHERE %LIKE%.
💡 Solução Detalhada do Desafio CQL:
O Segredo da Chave Primária: Na Sintaxe do Cassandra, o primeiro parâmetro isolado é a Partição. O segundo parâmetro (e opcionais consecutivos à direita) dita a Ordem Magnética Física dos logs já concentrados neste computador!
CREATE TABLE telemetria_por_motor (
motor_serial text,
data_coleta timestamp,
temperatura decimal,
velocidade int,
-- ESTRUTURANDO AS CHAVES DO HD:
PRIMARY KEY ( (motor_serial), data_coleta )
) WITH CLUSTERING ORDER BY (data_coleta DESC);
A Mágica da Query-Driven que salvou a Montadora:
- Partition
(motor_serial): Todo pacote novo daquele MotorX vindo por 4G cairá obrigatoriamente no exato mesmo nó do Ring responsável por este carro. Não haverá HDs pulando em redes cruzadas. - Clustering
data_coleta: Cada novo LOG de temperatura será armazenado EXATAMENTE EM CIMA do evento do segundo passado, devido à clausura DESC. - A Resposta Instantânea (< 1ms): Quando a UI chama os últimos 10 minutos deste motor, o braço magnético do disco apenas baixa e varre "um montinho físico isolado", alcançando a perfeição analítica e a glória arquitetônica!
A Jornada do Arquiteto Moderno
Parabéns por atingir o ápice do treinamento Poliglota Operacional! Do ACID (MySQL/PostgreSQL), transicionando pela Flexibilidade JSON (MongoDB), até atingir a escala hiperdistribuída (Cassandra/ScyllaDB). Você domina as engrenagens da Internet Atual! 🚀🛡️