Map-Reduce: Adquirindo informações de dados distribuidos

241 visualizações

Publicada em

Apresentação da cadeira Banco de Dados Avançados, ministrada pela professora Valéria Times, no Centro de Informática - UFPE.

Foi discutido como a técnica de map-reduce é usada para adquirir informações importantes para stakeholders de negócio em um ambiente onde os dados estão distribuídos em clusters. Ademais, foram discutidas técnicas para aumentar a eficiência das operações de map-reduce.

Licença: CC BY-NC-SA 2.5

Publicada em: Dados e análise
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
241
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Map-Reduce: Adquirindo informações de dados distribuidos

  1. 1. Map-Reduce: Adquirindo informações de dados distribuidos Edson de Lima (ebl4@cin.ufpe.br) Gabriela de Andrade (gcpa@cin.ufpe.br) João Farias (jgfd@cin.ufpe.br) Leonardo Borges (lrb@cin.ufpe.br)
  2. 2. Como banco de dados NoSQL guardam seus dados? ● Agregações DDD – "...cluster of domain objects that can be treated as a single unit." Martin Fowler [1]
  3. 3. O problema com o padrão Agregação ● “E se eu quiser olhar para os dados entre agregados?” – É fácil adquirir todas as informações de uma venda (Nome do cliente, hora, preço, produto, etc, etc), mas se eu quiser saber sobre o total de vendas no mês de Janeiro? ● Soluções – Map-Reduce ● Técnica para reorganizar os dados para diferentes clientes – Persistência Poliglota
  4. 4. Map-Reduce ● Lembrando o ambiente de um Sistema Distribuído
  5. 5. Map-Reduce ● Parte 1: Mapping
  6. 6. Map-Reduce ● Parte 2: Reducing
  7. 7. Map-Reduce ● O que é preciso para realizar uma operação de Map- Reduce? – Um framework de Map-Reduce ● Hadoop ● Spark ● Riak – Definir as funções de mapping, reducing e a query
  8. 8. Map-Reduce ● Exemplo
  9. 9. Map-Reduce: Particionando ● Vários reducers através da criação de partições
  10. 10. Map-Reduce: Combinando ● Reduzindo dados antes de enviar ao reducer ● Combinador-Redutor
  11. 11. Map-Reduce: Two-Step ● Criando operações complexas através de divide-and- conquer de pequenas operações de Map-Reduce ● Resultados intermediários: Materalized Views (M.V.)
  12. 12. Map-Reduce: Atualização de Dados ● Quando devemos re-computadar os dados? – Mapping: Quando o input mudar – Reduce: Quando os resultados do mapping mudarem ● Como evitar re-computação de reduções? – Partições – Se a função de redução é combinável e as mudanças são aditivas ● Faça redução do resultados anteriores (M.V.) e apenas dos novos dados
  13. 13. Map-Reduce: Principais pontos ● Como o padrão é usado para adquirir informação de negócio em um ambiente onde o modelo de dados não favorece isso, maximizando paralelismo, reuso de computação e tolerância a falhas ● Como aumentar a eficiência das operações de Map- Reduce – Organização de dados: Partições e combinadores – Pipelines de operações de Map-Reduce – Saber quando é necessário re-computar resultados
  14. 14. Fontes e links ● Martin Fowler sobre o padrão Agregação – Aggregate Oriented Database ● http://martinfowler.com/bliki/AggregateOrientedDatabase – DDD-Aggregate ● http://martinfowler.com/bliki/DDD_Aggregate.html ● NoSQL Distilled - Pramod J. Sadalage e Martin Fowler – http://martinfowler.com/books/nosql.html ● Simon Miner - Understanding NoSQL – http://www.math-cs.gordon.edu/courses/cs352/lectures-2012 ● Map-Reduce Tutorial – MongoDB – https://docs.mongodb.org/manual/core/map-reduce/
  15. 15. Map-Reduce Adquirindo informações de dados distribuidos

×