Vídeo: Kenneth Cukier: Big data is better data 2024
O MapReduce se torna cada vez mais útil para grandes dados. No início dos anos 2000, alguns engenheiros do Google analisaram o futuro e determinaram que, embora suas soluções atuais para aplicações como rastreamento na web, freqüência de consulta e assim por diante fossem adequadas para a maioria dos requisitos existentes, eram inadequadas para a complexidade que antecipavam como a web dimensionado para mais e mais usuários.
Esses engenheiros determinaram que, se o trabalho pudesse ser distribuído em computadores de baixo custo e depois conectado na rede sob a forma de um "cluster", eles poderiam resolver o problema. A distribuição por si só não foi uma resposta suficiente. Esta distribuição de trabalho deve ser realizada em paralelo para os seguintes três motivos:
-
O processamento deve ser capaz de expandir e contratar automaticamente.
-
O processamento deve ser capaz de prosseguir independentemente das falhas na rede ou nos sistemas individuais.
-
Os desenvolvedores que alavancam essa abordagem devem ser capazes de criar serviços que sejam fáceis de alavancar por outros desenvolvedores. Portanto, essa abordagem deve ser independente de onde os dados e os cálculos foram executados.
MapReduce foi projetado como um modelo de programação genérica. Algumas das implementações iniciais forneceram todos os requisitos essenciais de execução paralela, tolerância a falhas, balanceamento de carga e manipulação de dados. Os engenheiros encarregados do projeto nomearam a iniciativa MapReduce porque combina dois recursos de linguagens de computadores funcionais existentes: map e reduzir .
Os engenheiros do Google criaram MapReduce para resolver um problema prático específico. Portanto, foi projetado como um modelo de programação combinado com a implementação desse modelo - em essência, uma implementação de referência.
A implementação de referência foi utilizada para demonstrar a praticidade e eficácia do conceito e para ajudar a garantir que este modelo seja amplamente adotado pela indústria de computadores. Ao longo dos anos, outras implementações do MapReduce foram criadas e estão disponíveis como produtos de código aberto e comerciais.