-
MapReduce é um modelo de programação, e framework introduzido pelo Google para suportar computações paralelas em grandes coleções de dados em clusters de computadores. O MapReduce passa a ser considerado um novo modelo computacional distribuído, inspirado pelas funções map e reduce usadas comumente em programação funcional. MapReduce é um “Data-Oriented” que processa dados em duas fases primárias: Map e Reduce.
https://pt.wikipedia.org/wiki/MapReduce
-
Gabarito B
MapReduce é um modelo de programação proposto pelo Google para para facilitar o processamento de grandes volumes de dados (Big Data). A partir de um paradigma inspirado em primitivas de programação funcional, foi criado um framework que permitisse a manipulação de grande volume de dados de forma paralela e distribuída, além de prover tolerância a falha, escalonamento de I/O e monitoramento. Um grande número de aplicações reais podem ser expressas nesse modelo de programação.
O modelo de programação MapReduce consiste na construção de um programa formado por duas operações basicas: map e reduce. A operação de map recebe um par chave/valor e gera um conjunto intermediário de dados, também no formato chave/valor. A operação de reduce é executada para cada chave intermediária, com todos os conjuntos de valores intermediários associados àquela chave combinados. Em geral a operação de map é usada para encontrar algo, e a operação de reduce é usada para fazer a sumarização do resultado.
"Retroceder Nunca Render-se Jamais !"
Força e Fé !
Fortuna Audaces Sequitur !
-
PONTOS CHAVE (MAP-REDUCE)
- Map-reduce é um padrão que permite que computações sejam paralelizadas em um cluster.
- A tarefa de mapeamento lê dados de um agregado e os agrupam pares de chave-valor relevantes. Mapeamentos somente leem um único registro de cada vez e podem, assim, ser paralelizados e executados no nodo que armazena o registro.
- A tarefa (reduce) recebe muitos valores de uma única chave de saída, a partir da tarefa de mapeamento, e os resume em uma única saída. Cada redutora trabalha sobre o resultado de uma única chave, de modo que podem ser paralelizados por chave.
- Operações de map-reduce podem ser composta em pipelines, nas quais a saída de uma redução é a entrada do mapeamento de outra operação.
- Se o resultado de uma computação map-reduce for amplamente utilizado, pode ser amazenado como uma visão materializada.
- Visões materializadas podem ser atualizadas por meio de operações map-reduce que apenas computem alterações na visão, em vez de computar novamente tudo desde o início.
Fonte: livro NoSQL Essencial - Pramod J.Sadalage/Martin Fowler
-
Veja que a questão trata do processamento de consultas em múltiplos nós, ou seja, em sistemas distribuídos. Um modelo de programação utilizado para realizar essas tarefas complexas nesse tipo de sistema é o MapReduce, que permite a quebra das tarefas em unidades menores e sua posterior agregação.
Considero que a questão poderia ter dado mais detalhes para deixar claro que a resposta esperada seria um modelo de programação e não um modelo de dados ou um método de acesso, pois poderia ser argumentado que as alternativas C ou D também estariam de acordo com a descrição. De todo modo, a alternativa B é, realmente, a mais apropriada.