Questão nº 59
Questão de Tecnologia da Informação · CESGRANRIO BB 01/2022 (nº 59)
Considere um cenário no qual uma empresa de investimentos financeiros tenha realizado uma campanha para que seus colaboradores indicassem outras pessoas que pudessem vir a estar interessadas em seus produtos e serviços. Esses colaboradores também foram estimulados a informar a sua ligação com as pessoas indicadas (ex: amigo, irmão, primo) e as eventuais ligações entre as pessoas indicadas. Estes relacionamentos são importantes para a definição da próxima campanha dessa empresa.
O banco de dados NoSQL mais indicado para representar esses dados é o que utiliza o modelo
- Achave/valor
- Borientado a colunas
- Corientado a documentos
- Dorientado a grafos (alternativa correta)
- Erelacional
Resposta comentada
Gabarito Alternativa D
Conceito-chave: Bancos de dados orientados a grafos são feitos para guardar nós (pessoas, por exemplo) e arestas (relacionamentos entre elas, como "amigo" ou "irmão"). Eles são perfeitos quando a informação mais valiosa é a conexão entre os dados, não apenas os dados em si.
- (A) Incorreta: Modelo chave/valor guarda pares simples de chave e valor (como um dicionário), sem estrutura para representar múltiplos relacionamentos entre diferentes pessoas.
- (B) Incorreta: Modelo orientado a colunas é otimizado para consultas analíticas em grandes volumes de dados tabulares, não para navegar por conexões complexas.
- (C) Incorreta: Modelo orientado a documentos (como MongoDB) guarda documentos JSON hierárquicos; até poderia armazenar a lista de amigos, mas consultar "amigos de amigos" ou "quem indicou quem" seria lento e complexo.
- (D) Correta: O modelo orientado a grafos (ex: Neo4j) representa cada colaborador e indicado como um nó, e cada ligação ("indicou", "é amigo de", "é primo de") como uma aresta. Isso permite percorrer a rede social de forma natural e eficiente, exatamente o que a empresa precisa para analisar a influência e o alcance da campanha.
- (E) Incorreta: O modelo relacional (SQL) usa tabelas com linhas e colunas. Para modelar "amigo de amigo" seria necessário vários
JOINs(junções) complexos e lentos, tornando a consulta de relacionamentos profundos um pesadelo de performance.
Armadilha do distrator mais tentador (C): A banca tenta te enganar com "documentos", pois você pode pensar em guardar um JSON com a lista de amigos de cada pessoa. Porém, a pegadinha é que o relacionamento em si (a ligação entre as pessoas) é o dado principal do problema. Em um banco de documentos, você teria que duplicar informações e fazer buscas manuais para descobrir conexões indiretas (ex: amigo do meu primo). O grafo resolve isso nativamente, pois a conexão é um cidadão de primeira classe no banco.
Fonte: CESGRANRIO BB 01/2022 Escriturário - Agente de Tecnologia (Caderno Gabarito 1). Reproduzida para fins de estudo.