Questão de Banco de Dados — Grafos (Neo4j) — VUNESP 2023
- Código
- vu196886
- Banca
- VUNESP
- Órgão
- SP Regula
- Ano
- 2023
- Cargo
- ARSP ( )
- Awide-column store.
- Bgraph database.
- Cdocument store.
- Dflat-file database.
- Ekey-value store.
GabaritoB — graph database.
Gabarito: letra B. O banco de dados NoSQL que armazena dados na forma de nós e arestas é o graph database (banco de dados orientado a grafos), que utiliza os conceitos de nós (vértices), arestas (relacionamentos) e propriedades (atributos). Os demais modelos NoSQL — chave-valor, documentos e colunar — não se baseiam nessa estrutura de grafo.
Os bancos de dados NoSQL surgiram para atender a cenários que o modelo relacional tradicional não resolve bem, como altíssima escalabilidade horizontal, dados semiestruturados e consultas que priorizam relacionamentos complexos. Eles são organizados, em geral, em quatro grandes modelos: chave-valor, orientado a documentos, orientado a colunas (wide-column) e orientado a grafos. Cada um tem uma estrutura de armazenamento própria e é mais adequado a determinados casos de uso.
O modelo orientado a grafos é o único que não pode ser representado utilizando o modelo tradicional de linhas e colunas. Ele é composto por três elementos fundamentais:
Nós (vértices): representam entidades, como pessoas, lugares, produtos ou eventos.
Arestas (relacionamentos): conectam dois nós e representam a relação entre eles (ex.: "amigo de", "comprou", "trabalha em").
Propriedades (atributos): são informações associadas tanto aos nós quanto às arestas (ex.: nome, idade, data da compra).
Essa estrutura permite que os dados sejam armazenados uma vez e depois interpretados de formas diferentes, com base nos relacionamentos. É particularmente eficiente para consultas que envolvem travessia de relacionamentos, como redes sociais ("amigo de amigo"), detecção de fraudes, sistemas de recomendação e otimização de rotas. Um exemplo clássico de banco de dados orientado a grafos é o Neo4j, que utiliza a linguagem de consulta Cypher.
A pegadinha desta questão está em confundir os modelos NoSQL entre si. A banca oferece alternativas que são outros modelos NoSQL (wide-column, document, key-value) e até um tipo de arquivo não relacional (flat-file), mas apenas o graph database corresponde à definição de armazenar dados em nós e arestas. Guarde a associação direta: grafos = nós + arestas + propriedades.
O wide-column store (banco de dados orientado a colunas) armazena dados em tabelas, linhas e colunas dinâmicas, indexados por uma tripla (linha, coluna e timestamp). Ele não utiliza o conceito de nós e arestas. Exemplos: Cassandra e HBase.
O graph database (banco de dados orientado a grafos) é exatamente o modelo que armazena dados na forma de nós (vértices) e arestas (relacionamentos), com propriedades associadas. É a definição literal do enunciado. Exemplo: Neo4j.
O document store (banco de dados orientado a documentos) armazena dados em documentos semelhantes a objetos, geralmente em formato JSON, BSON ou XML. Não há estrutura de nós e arestas. Exemplo: MongoDB.
O flat-file database (banco de dados de arquivo plano) não é um modelo NoSQL; é um arquivo de texto simples (como CSV) onde os dados são armazenados em linhas e colunas, sem estrutura de relacionamentos. Não se aplica à definição de nós e arestas.
O key-value store (banco de dados chave-valor) armazena dados como um grande dicionário, onde cada chave está associada a um único valor. É a estrutura mais simples entre os modelos NoSQL, mas não utiliza nós e arestas. Exemplos: Redis, DynamoDB.
Para fixar, associe cada modelo NoSQL à sua palavra-chave: chave-valor → dicionário/cache; documentos → JSON/flexibilidade; colunar → big data/colunas dinâmicas; grafos → nós e arestas/relacionamentos. Na prova, quando o enunciado mencionar "nós e arestas", a resposta é sempre graph database.
Gabarito: letra B
Link permanente: /questoes/vu196886