Pular para o conteúdo principal

Questão de Banco de Dados — Questões Mescladas de SGBDs NoSQL — VUNESP 2023

Banco de DadosQuestões Mescladas de SGBDs NoSQL
Código
vu196782
Banca
VUNESP
Órgão
Pref SP
Ano
2023
Cargo
AFTM SP
Considerando os quatro tipos de bancos de dados do tipo NoSQL (chave-valor, grafos, documentos e colunas), é correto afirmar que são, respectivamente, sistemas gerenciadores predominantemente orientados a colunas e de grafos
  1. AMongo e Redis.
  2. BOrientDB e Cassandra.
  3. CCassandra e Neo4j.
  4. DAmazon Dynamo DB e HBase.
  5. ERiak e Cassandra.
Revelar gabarito e comentário

GabaritoC — Cassandra e Neo4j.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Bancos de dados NoSQL: classificação por modelo de dados

Gabarito: letra C. A questão pede, respectivamente, um SGBD predominantemente orientado a colunas e um orientado a grafos — e essa dupla é exatamente Cassandra e Neo4j. O Apache Cassandra é o exemplo clássico de banco colunar (família de colunas, arquitetura descentralizada), enquanto o Neo4j é o representante mais conhecido dos bancos de grafos, que armazenam dados em nós, arestas e propriedades.

Os bancos NoSQL abandonam o modelo relacional rígido de tabelas com esquema fixo e se organizam em quatro grandes famílias: chave-valor, orientado a documentos, orientado a colunas e orientado a grafos. Cada família resolve um problema diferente — cache e sessões, dados semiestruturados e flexíveis, altíssima taxa de escrita distribuída, e relacionamentos complexos, respectivamente. A banca explora exatamente a capacidade de associar cada SGBD ao seu modelo de dados, e a pegadinha clássica é trocar os pares: colocar um banco de documentos onde deveria estar um de colunas, ou um de chave-valor onde deveria estar um de grafos.

Vamos fixar o mapa completo dos quatro modelos, com seus representantes mais cobrados em prova:

Modelo NoSQL

Característica central

SGBD principal

Chave-valor

Estrutura mais simples: uma chave associada a um único valor; busca rápida pela chave; dados opacos (o banco não lê o conteúdo)

Redis, DynamoDB, Riak

Documentos

Dados semiestruturados em documentos JSON/BSON/XML; esquema flexível; busca pelo conteúdo

MongoDB

Colunas

Dados em tabelas, linhas e colunas dinâmicas; indexados por (linha, coluna, timestamp); altíssima escrita e escala

Cassandra, HBase, BigTable

Grafos

Nós, arestas (relacionamentos) e propriedades; excelente para redes sociais, fraudes e rotas

Neo4j, AllegroGraph

A distinção que decide esta questão é a fronteira entre colunas e documentos. O Cassandra armazena dados em column families (famílias de colunas), com linhas que podem ter colunas diferentes — é um modelo colunar, não documental. O MongoDB, por sua vez, guarda documentos BSON em collections, estrutura análoga a tabelas, mas com flexibilidade de esquema — é o modelo de documentos. Já o Neo4j não trabalha com tabelas nem documentos: modela o mundo como um grafo, onde cada registro é um nó e cada relação é uma aresta, permitindo consultas de profundidade (como "amigos de amigos") que seriam custosas no modelo relacional.

A pegadinha da banca está em inverter os pares ou usar bancos do modelo errado. Por exemplo, a alternativa A coloca Mongo (documentos) e Redis (chave-valor) — nenhum dos dois é colunar ou de grafos. A alternativa D inverte a ordem pedida: DynamoDB é chave-valor e HBase é colunar, mas a questão quer colunas primeiro e grafos depois. A alternativa E usa Riak (chave-valor) e Cassandra (colunas) — dois bancos que não são de grafos. A alternativa B usa OrientDB (que é multi-modelo, mas não é o representante clássico de colunas) e Cassandra (colunas) — além de inverter a ordem, não traz um banco de grafos. A única dupla que atende exatamente ao pedido é Cassandra (colunas) e Neo4j (grafos).

Guarde o critério: para acertar, o aluno precisa saber o modelo de dados de cada SGBD citado — é isso que separa as alternativas.

1Chave-valor
Redis
DynamoDB
Riak
2Documentos
MongoDB
3Colunas
Cassandra
HBase
4Grafos
Neo4j
NoSQL: 4 modelos
LEVELsoulevel.com.br
NoSQL: 4 modelos: Chave-valor (Redis, DynamoDB, Riak); Documentos (MongoDB); Colunas (Cassandra, HBase); Grafos (Neo4j)

Alternativa A — ❌ Incorreta

MongoDB é o representante máximo do modelo orientado a documentos (armazena documentos BSON em collections), e Redis é um banco chave-valor in-memory, usado para cache e sessões. Nenhum dos dois é colunar nem de grafos — a dupla não atende a nenhuma das duas posições pedidas.

Alternativa B — ❌ Incorreta

OrientDB é um banco multi-modelo (suporta documentos, grafos e chave-valor), mas não é o representante clássico de colunas — esse papel é do Cassandra. Além disso, a ordem está invertida: a questão pede colunas primeiro e grafos depois, e aqui temos OrientDB (que pode ser grafos) e Cassandra (colunas). A dupla não corresponde ao pedido.

Alternativa C — ✅ Correta ⟵ GABARITO

Apache Cassandra é o SGBD orientado a colunas por excelência: distribuído, descentralizado (sem nó mestre), com keyspaces e column families, projetado para altíssima taxa de escrita e escala linear. Neo4j é o banco orientado a grafos mais famoso, usando a linguagem Cypher para consultar nós, arestas e propriedades. A dupla atende exatamente à ordem pedida: colunas e grafos.

Alternativa D — ❌ Incorreta

Amazon DynamoDB é um banco chave-valor (surgido do Dynamo da Amazon para e-commerce), e HBase é orientado a colunas (inspirado no BigTable do Google). A ordem está invertida — a questão pede colunas primeiro e grafos depois — e nenhum dos dois é de grafos.

Alternativa E — ❌ Incorreta

Riak é um banco chave-valor distribuído, e Cassandra é orientado a colunas. Nenhum dos dois é de grafos, e a dupla não atende à segunda posição pedida (grafos).

NÃO CAIA NESSA!

A banca adora inverter a ordem dos modelos ou trocar o SGBD pelo modelo errado. Aqui, as alternativas B e D usam bancos reais, mas na ordem errada ou com modelo diferente do pedido — o candidato que decora nomes sem associar ao modelo cai fácil. A dica é sempre montar o par mental: Cassandra = colunas, Neo4j = grafos, MongoDB = documentos, Redis = chave-valor. Com esse mapa, a questão vira uma simples associação.

Gabarito: letra C

Link permanente: /questoes/vu196782