SlideShare uma empresa Scribd logo
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)
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]
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
Map-Reduce
●
Lembrando o ambiente de um Sistema Distribuído
Map-Reduce
●
Parte 1: Mapping
Map-Reduce
●
Parte 2: Reducing
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
Map-Reduce
●
Exemplo
Map-Reduce: Particionando
●
Vários reducers através da criação de partições
Map-Reduce: Combinando
●
Reduzindo dados antes de enviar ao reducer
●
Combinador-Redutor
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.)
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
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
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/
Map-Reduce
Adquirindo informações de dados distribuidos

Mais conteúdo relacionado

PPSX
App Bagro Bastit "A solução para Agronegocio."
PPTX
Big data advanced topics - part I
PDF
Map-Reduce: Adquirindo informações de dados distribuidos
PPTX
Pydata london meetup - RiakTS, PySpark and Python by Stephen Etheridge
PPTX
Riak TS
PPTX
Operational Analytics Using Spark and NoSQL Data Stores
PDF
Map reduce novas abordagens para o processo de datamining em grandes volumn...
PDF
Sistemas operacionais 11
App Bagro Bastit "A solução para Agronegocio."
Big data advanced topics - part I
Map-Reduce: Adquirindo informações de dados distribuidos
Pydata london meetup - RiakTS, PySpark and Python by Stephen Etheridge
Riak TS
Operational Analytics Using Spark and NoSQL Data Stores
Map reduce novas abordagens para o processo de datamining em grandes volumn...
Sistemas operacionais 11

Semelhante a Map-Reduce: Adquirindo informações de dados distribuidos (12)

PDF
Treinamento Hadoop - dia2
ODP
Seminário Hadoop
PPT
Mapreduce - Conceitos e Aplicações
PPTX
PPTX
Modelos NoSQL e a Persistência Poliglota
PDF
Big Data x Data Mining - Hadoop
PDF
Padrões de Design para MapReduce
PDF
Voce ainda não conhece o mongoDb?
PDF
Desenvolvendo Aplicações baseadas em Big Data com PySpark
PDF
Document store e Mongodb
PDF
Uma introdução à mineração de informações na era do Big Data
PDF
Mini-Curso de MongoDB
Treinamento Hadoop - dia2
Seminário Hadoop
Mapreduce - Conceitos e Aplicações
Modelos NoSQL e a Persistência Poliglota
Big Data x Data Mining - Hadoop
Padrões de Design para MapReduce
Voce ainda não conhece o mongoDb?
Desenvolvendo Aplicações baseadas em Big Data com PySpark
Document store e Mongodb
Uma introdução à mineração de informações na era do Big Data
Mini-Curso de MongoDB
Anúncio

Último (9)

PPT
AULA COACHING INICIAL *******************
PDF
Bases de dados - basicos dos basicos. como identificar chaves
PDF
48585b89-ee4d-4f8d-b2c0-7db19cc44e44.pdf
PPTX
Perguntas e respostas.pptx Informática aplicada
DOC
COMO CRIAR DASHBOARD ATRAVES DE CODIFICAÇÃO PYTHON
PPTX
Sermao a mensagem da Cruz.pptx gdfvdcdfdfdsfcdsfxdfdfdfvdgf
PDF
Plano de gestão - template.pptx.pdf.pdf
PDF
Apresentação CME-Caldas da Rainha_250217_102132.pdf
PDF
Medidor de PH de bancada PH140 para uso em laboratório
AULA COACHING INICIAL *******************
Bases de dados - basicos dos basicos. como identificar chaves
48585b89-ee4d-4f8d-b2c0-7db19cc44e44.pdf
Perguntas e respostas.pptx Informática aplicada
COMO CRIAR DASHBOARD ATRAVES DE CODIFICAÇÃO PYTHON
Sermao a mensagem da Cruz.pptx gdfvdcdfdfdsfcdsfxdfdfdfvdgf
Plano de gestão - template.pptx.pdf.pdf
Apresentação CME-Caldas da Rainha_250217_102132.pdf
Medidor de PH de bancada PH140 para uso em laboratório
Anúncio

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

  • 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. 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. 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. Map-Reduce ● Lembrando o ambiente de um Sistema Distribuído
  • 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
  • 9. Map-Reduce: Particionando ● Vários reducers através da criação de partições
  • 10. Map-Reduce: Combinando ● Reduzindo dados antes de enviar ao reducer ● Combinador-Redutor
  • 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. 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. 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. 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/