Questão de Banco de Dados — Big Data — INSTITUTO AOCP 2025
- Código
- qg541064
- Banca
- INSTITUTO AOCP
- Órgão
- Prefeitura de Joinville - SC
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação
- AMongoDB.
- BCouchDB.
- CRedis.
- DNeo4j.
- ECassandra.
GabaritoE — Cassandra.
Gabarito: letra E. O Apache Cassandra é um banco de dados NoSQL orientado a colunas, projetado para consultas analíticas e agregações rápidas por colunas em grandes volumes de dados, exatamente o que o analista da Prefeitura de Joinville precisa. As demais alternativas representam outros modelos NoSQL: MongoDB e CouchDB são orientados a documentos, Redis é chave-valor e Neo4j é orientado a grafos.
O termo NoSQL (Not Only SQL) abrange uma família de bancos de dados não relacionais que surgiram para lidar com grandes volumes de dados, alta disponibilidade e escalabilidade horizontal, características típicas de cenários de Big Data. Diferentemente dos bancos relacionais, que organizam os dados em tabelas com esquema rígido e usam SQL, os bancos NoSQL adotam modelos de dados variados, cada um otimizado para um tipo específico de aplicação. Os quatro modelos principais são: chave-valor, orientado a documentos, orientado a colunas e orientado a grafos.
O modelo orientado a colunas (também chamado de wide-column ou família de colunas) organiza os dados em colunas em vez de linhas, o que otimiza consultas analíticas que precisam ler apenas um subconjunto de colunas de um grande volume de dados. Os dados são indexados por uma tripla (linha, coluna e timestamp), e os valores são agrupados em famílias de colunas. Essa estrutura é particularmente eficiente para agregações rápidas, compressão de dados e leitura de colunas específicas, sendo amplamente usada em Big Data e Data Warehouse. O Cassandra e o HBase são os exemplos mais conhecidos desse modelo.
Para entender a escolha correta, é essencial distinguir os modelos NoSQL e seus casos de uso:
Modelo | Característica principal | Exemplos |
|---|---|---|
Chave-valor | Armazena pares chave-valor, alta performance para leitura/escrita, ideal para caches e sessões | Redis, DynamoDB, Riak |
Documentos | Armazena documentos flexíveis (JSON, BSON), sem esquema fixo, ideal para dados semiestruturados | MongoDB, CouchDB |
Colunas | Organiza dados em colunas, otimiza consultas analíticas e agregações, usado em Big Data | Cassandra, HBase |
Grafos | Usa nós, arestas e propriedades, ideal para redes sociais, recomendações e detecção de fraudes | Neo4j, AllegroGraph |
A pegadinha da banca está em associar o Cassandra ao modelo errado ou em confundir os modelos entre si. O enunciado pede explicitamente um banco "cujo modelo principal seja colunar", o que elimina imediatamente MongoDB, CouchDB, Redis e Neo4j. O Cassandra é o único que se encaixa na descrição, sendo um SGBD distribuído e descentralizado, projetado para altíssima disponibilidade e escala linear, com conceitos como keyspace (esquema), column family (tabela) e row key (chave primária).
O MongoDB é um banco de dados NoSQL orientado a documentos, não colunar. Ele armazena dados em documentos flexíveis no formato BSON (uma variação binária do JSON), organizados em coleções. É ideal para aplicações web, mobile e dados semiestruturados, mas não é otimizado para consultas analíticas por colunas em grandes volumes de dados.
O CouchDB também é um banco de dados NoSQL orientado a documentos, assim como o MongoDB. Ele armazena dados em documentos JSON e é conhecido por sua facilidade de replicação e sincronização offline. Não atende à necessidade de um modelo colunar.
O Redis é um banco de dados NoSQL do tipo chave-valor, que armazena dados em memória (in-memory) para alta performance em operações de leitura e escrita. É amplamente usado para caching, gerenciamento de sessões e filas de mensagens, mas não é um banco colunar e não é projetado para consultas analíticas complexas.
O Neo4j é um banco de dados NoSQL orientado a grafos, que representa entidades como nós e relacionamentos como arestas. É excelente para aplicações que envolvem redes sociais, recomendações, detecção de fraudes e mapeamento de rotas, mas não é um banco colunar.
O Apache Cassandra é um banco de dados NoSQL orientado a colunas, projetado para lidar com grandes volumes de dados distribuídos, oferecendo alta disponibilidade e escalabilidade horizontal. Sua estrutura de famílias de colunas otimiza consultas analíticas e agregações rápidas por colunas, exatamente o que o analista da Prefeitura de Joinville precisa para analisar estatísticas de atendimento e indicadores de desempenho ao longo do tempo.
Para questões que pedem o modelo de um banco NoSQL, associe cada banco ao seu modelo principal: MongoDB e CouchDB → documentos; Redis e DynamoDB → chave-valor; Cassandra e HBase → colunas; Neo4j → grafos. Essa associação direta resolve a maioria das questões sobre o tema.
Gabarito: letra E
Link permanente: /questoes/qg541064