Questão de Programação — Programação estruturada — FGV 2024
- Código
- fg099941
- Banca
- FGV
- Órgão
- TJ-RR
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista Judiciário - Desenvolvimento de Sistemas
- AData Warehousing.
- BElastic Search.
- CHadoop.
- DMapReduce.
- ENoSQL.
GabaritoD — MapReduce.
Gabarito: letra D. O modelo descrito — dividir, processar em paralelo e combinar dados — é exatamente o MapReduce, um paradigma de programação paralela para grandes volumes de dados. O MapReduce foi proposto pelo Google e é a base de frameworks como Hadoop, mas a questão pergunta pelo modelo em si, não pela implementação.
A banca testa a capacidade de distinguir MapReduce de tecnologias relacionadas, como Hadoop (que é um framework que implementa MapReduce) e ferramentas de armazenamento/banco de dados (Data Warehousing, Elastic Search, NoSQL).
Data Warehousing é um sistema de armazenamento e análise de grandes volumes de dados, mas não é um modelo de programação paralela. Ele trata da organização e consulta de dados, não do processamento em paralelo com divisão e combinação.
Elastic Search é um mecanismo de busca e análise baseado em Lucene, usado para indexação e consulta rápida. Não se enquadra no modelo de programação descrito.
Hadoop é um framework de software que implementa o modelo MapReduce e inclui o HDFS (armazenamento). No entanto, a questão se refere ao modelo de programação, não à implementação. Hadoop é a ferramenta, MapReduce é o conceito.
O MapReduce é exatamente o modelo de programação que divide o problema em partes (Map), processa em paralelo e depois combina os resultados (Reduce). É um paradigma essencial para big data.
NoSQL refere-se a bancos de dados não relacionais (ex.: MongoDB, Cassandra). Não é um modelo de programação para processamento paralelo, mas sim uma categoria de sistemas de armazenamento.
A banca quer que o aluno confunda Hadoop (alternativa C) com MapReduce (alternativa D). Hadoop é um framework que usa MapReduce, mas o modelo de programação em si chama-se MapReduce. Lembre: MapReduce é o conceito; Hadoop é uma implementação concreta.
O fluxo do MapReduce pode ser visualizado assim:
Sempre que a questão falar em "dividir, processar em paralelo e combinar resultados", a resposta é MapReduce. Hadoop é o framework que implementa esse modelo, mas o modelo de programação é MapReduce. Estude também as fases Map, Shuffle e Reduce para entender como funciona.
Gabarito: letra D
Link permanente: /questoes/fg099941