SóProvas


ID
1826977
Banca
FGV
Órgão
TJ-PI
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

Bancos de dados conhecidos como NoSQL podem ser particionados em diferentes servidores, o que introduz o problema de processar consultas que envolvem múltiplos nós de processamento. Um modelo usualmente empregado nessas circunstâncias é conhecido como:

Alternativas
Comentários
  • 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.