O Google criou o modelo de programação MapReduce para processar e gerar grandes conjuntos de dados em clusters de computadores. O framework foi inicialmente desenvolvido pelo Google para suportar sua indexação de páginas da web, substituindo técnicas de indexação anteriores. Como rotinas de biblioteca podem ser usadas para construir programas paralelos sem se preocupar com comunicação entre clusters, monitoramento de tarefas ou procedimentos de tratamento de falhas, desenvolvedores iniciantes acham o framework MapReduce útil. O MapReduce é altamente escalável e funciona em um grande cluster de máquinas comuns. Ele pode ser implementado de várias maneiras usando diferentes linguagens de programação, incluindo Java, C# e C++. Distributed grep, distributed sort, reversão de link-graph da web, estatísticas de logs de acesso à web, clustering de documentos, machine learning e tradução automática estatística são apenas algumas das aplicações que utilizam MapReduce.
O que é MapReduce?