SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
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

Contenu connexe

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

Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...Denodo
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Ambiente Livre
 
SGBD - ORACLE - JAVA
SGBD - ORACLE - JAVASGBD - ORACLE - JAVA
SGBD - ORACLE - JAVAssuser4cf889
 
por_detras_dos_relatorios
por_detras_dos_relatoriospor_detras_dos_relatorios
por_detras_dos_relatoriosarthurjosemberg
 
Business Intelligence com o microsoft sql server
Business Intelligence com o microsoft sql serverBusiness Intelligence com o microsoft sql server
Business Intelligence com o microsoft sql serverMilson
 
Bigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoopBigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadooptdc-globalcode
 
Bancos de Dados Pós-Relacionais
Bancos de Dados Pós-RelacionaisBancos de Dados Pós-Relacionais
Bancos de Dados Pós-Relacionaiselliando dias
 
Big Data e Data Science: admirável mundo novo - IV SIC IFNMG
Big Data e Data Science: admirável mundo novo - IV SIC IFNMGBig Data e Data Science: admirável mundo novo - IV SIC IFNMG
Big Data e Data Science: admirável mundo novo - IV SIC IFNMGPetronio Candido
 
SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)
SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)
SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)Dirceu Resende
 
Plano Geral de Governança de Dados
Plano Geral de Governança de DadosPlano Geral de Governança de Dados
Plano Geral de Governança de DadosGustavo Alexandre
 
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...Felipe Caparelli
 
Arquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataArquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataSandro Andrade
 
TDC POA 2017 - Case AGCO
TDC POA 2017 - Case AGCOTDC POA 2017 - Case AGCO
TDC POA 2017 - Case AGCOJoao Gutheil
 

Similaire à Map-Reduce: Adquirindo informações de dados distribuidos (20)

BigData MapReduce
BigData MapReduceBigData MapReduce
BigData MapReduce
 
Business Analytics
Business AnalyticsBusiness Analytics
Business Analytics
 
OLAP, BI, EIS
OLAP, BI, EISOLAP, BI, EIS
OLAP, BI, EIS
 
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
 
SGBD - ORACLE - JAVA
SGBD - ORACLE - JAVASGBD - ORACLE - JAVA
SGBD - ORACLE - JAVA
 
Aula - Aspectos Avançados em Modelagem Multidimensional
Aula - Aspectos Avançados em Modelagem MultidimensionalAula - Aspectos Avançados em Modelagem Multidimensional
Aula - Aspectos Avançados em Modelagem Multidimensional
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business Intelligence
 
por_detras_dos_relatorios
por_detras_dos_relatoriospor_detras_dos_relatorios
por_detras_dos_relatorios
 
Business Intelligence com o microsoft sql server
Business Intelligence com o microsoft sql serverBusiness Intelligence com o microsoft sql server
Business Intelligence com o microsoft sql server
 
Bigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoopBigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoop
 
Bancos de Dados Pós-Relacionais
Bancos de Dados Pós-RelacionaisBancos de Dados Pós-Relacionais
Bancos de Dados Pós-Relacionais
 
Big Data x Data Mining - Hadoop
Big Data x Data Mining - HadoopBig Data x Data Mining - Hadoop
Big Data x Data Mining - Hadoop
 
Data Warehouse - Modelagem
Data Warehouse - ModelagemData Warehouse - Modelagem
Data Warehouse - Modelagem
 
Big Data e Data Science: admirável mundo novo - IV SIC IFNMG
Big Data e Data Science: admirável mundo novo - IV SIC IFNMGBig Data e Data Science: admirável mundo novo - IV SIC IFNMG
Big Data e Data Science: admirável mundo novo - IV SIC IFNMG
 
SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)
SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)
SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)
 
Plano Geral de Governança de Dados
Plano Geral de Governança de DadosPlano Geral de Governança de Dados
Plano Geral de Governança de Dados
 
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
 
Arquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataArquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigData
 
TDC POA 2017 - Case AGCO
TDC POA 2017 - Case AGCOTDC POA 2017 - Case AGCO
TDC POA 2017 - Case AGCO
 

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/