21
Análise e Caracterização das Novas Ferramentas para Computação Distribuída na Nuvem Otávio M. de Carvalho, Eduardo Roloff, Marco A. Z. Alves, Philippe O. A. Navaux Universidade Federal do Rio Grande do Sul Grupo de Processamento Paralelo e Distribuído {omcarvalho,eroloff,mazalves,navaux}@inf.ufrgs.br

Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

Embed Size (px)

DESCRIPTION

Pesquisa e caracterização das novas ferramentas para Computação em Nuvem WSCAD-IC 2013 - Porto de Galinhas - Brasil

Citation preview

Page 1: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

Análise e Caracterização das Novas Ferramentas para Computação

Distribuída na NuvemOtávio M. de Carvalho, Eduardo Roloff, Marco A. Z. Alves, Philippe O. A. Navaux

Universidade Federal do Rio Grande do SulGrupo de Processamento Paralelo e Distribuído

{omcarvalho,eroloff,mazalves,navaux}@inf.ufrgs.br

Page 2: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

2

Motivação

● Grande quantidades de dados estão sendo gerados. Atualmente, já produzimos 2.8 trilhões de GB. [1]

● A produção de dados está crescendo 60% a cada ano.

● Grandes volumes de dados também estão sendo gerados. A cada 60 segundos, 600 novas postagens em blogs são feitas, e 34.000 tweets são enviados. [2]

[1] IBM CMO Study 2011[2] IDC Key Forecast Assumptions for the Worldwide Big Data Technology and Services Market, 2012-2015

Page 3: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

3

Objetivos

● Buscar as principais iniciativas desenvolvidas para a evolução do modelo MapReduce

● Caracterizar as diferentes iniciativas em sub-grupos, para melhor compreender as suas principais distinções

● Compreender quais modificações vem sendo mais bem-sucedidas, ajudando a determinar quais ferramentas possuem o maior potencial para estudos mais aprofundados

Page 4: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

4

Abordagens para a Computação Distribuída na Nuvem

Page 5: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

5

Abordagens Iniciais

● Inicialmente, as abordagens eram próximas às dos bancos de dados clássicos. Sendo caracterizadas principalmente pela introdução de grandes volumes dados, nos sistemas de processamento, aguardando o término do seu processamento após um determinado período de tempo.

Page 6: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

6

Abordagens Atuais

● Atualmente, estão crescendo as abordagens que visam processar dados em fluxos contínuos, aplicando transformações sobre o conjunto de dados, visando obter resultados da maneira mais rápida possível.

Page 7: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

7

Classificação das Abordagens

Page 8: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

8

Processamento Batch

Page 9: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

9

Processamento Interativo

Page 10: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

10

Processamento em Tempo Real

Page 11: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

11

Caracterização das Novas Ferramentas para Computação

Distribuída na Nuvem

Page 12: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

12

Nome Ano Descrição Batch Interativo Tempo Real

Teradata Aster 2013 Banco de dados MPP

Pivotal HD 2013 Conjunto de ferramentas de processamento distribuído

Google Photon 2013 Sistema para o processamento distribuído de fluxos de dados

AMPLab BDAS 2012 Conjunto de ferramentas de processamento distribuído em memória

Google Spanner 2012 Banco de dados distribuído com transações externamente consistentes

Actian ParAccel 2012 Banco de dados MPP

Cloudera Impala 2012 Sistema para o processamento de consultas interativas

StreamBase CEP 2012 Ferramenta comercial de processamento complexo de eventos

Apache Giraph 2012 Ferramenta para o processamento distribuído de grafos

Apache Drill 2012 Ferramenta para o processamento de consultas interativas

Apache Flume 2012 Ferramenta para o processamento de fluxos contínuos de dados

Apache YARN 2011 Evolução do Apache Hadoop

SAP HANA 2011 Banco de dados em memória

Google Megastore 2011 Banco de dados distribuído que precedeu o Google Spanner

Apache Storm 2011 Ferramenta para o processamento de eventos complexos

Apache Kafka 2011 Sistema para o processamento de fluxos contínuos de dados

MapR M5 2011 Conjunto de ferramentas de processamento distribuído

Hortonworks HDP 2011 Conjunto de ferramentas de processamento distribuído

Google Pregel 2010 Sistema distribuído para o processamento de grafos

Google Percolator 2010 Sistema distribuído para processamento incremental

Google Dremel 2010 Ferramenta para a análise interativa de dados

AMPLab Spark 2010 Sistema de processamento de dados em memória

VoltDB 2010 Sistema de banco de dados em memória

Apache S4 2010 Ferramenta para o processamento de fluxos contínuos de dados

HP Vertica 2010 Banco de dados MPP

Apache Hive 2009 Ferramenta para o processamento de consultas interativas

Cloudera CDH 2009 Conjunto de ferramentas de processamento distribuído

Apache Cassandra 2009 Sistema de armazenamento de dados distribuído

Google BigTable 2006 Sistema de armazenamento de dados distribuído

Apache Hadoop 2005 Sistema de processamento de dados distribuído

Google MapReduce 2004 Sistema de processamento distribuído que deu origem ao Hadoop

Page 13: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

13

Ferramentas de Processamento Batch

● Bancos de Dados MPP● Versões derivadas do Apache Hadoop

inspiradas pelo Google MapReduce ● Orientadas ao processamento de grandes

volumes de dados

Page 14: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

14

Nome Ano Batch Interativo Tempo Real

Teradata Aster 2013

Pivotal HD 2013

AMPLab BDAS 2012

Actian ParAccel 2012

Apache Giraph 2012

Apache YARN 2011

MapR M5 2011

Hortonworks HDP 2011

Google Pregel 2010

Google Percolator 2010

AMPLab Spark 2010

HP Vertica 2010

Cloudera CDH 2009

Apache Hadoop 2005

Google MapReduce 2004

Page 15: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

15

Ferramentas de Processamento Interativo

● Caracterizadas principalmente por Sistemas de Banco de Dados distribuídos, que utilizam abstrações do tipo NoSQL ou NewSQL

● São voltados para o armazenamento e para o processamento de consultas interativas sobre volumes intermediários de dados

● Problema: Intersecção com a criação de grandes conjuntos de ferramentas, que visam oferecer abordagens para o processamento de diversos tipos de problemas e tamanhos de consultas (Apache YARN e AMPLab BDAS, por exemplo)

Page 16: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

16

Nome Ano Batch Interativo Tempo Real

Teradata Aster 2013

Pivotal HD 2013

AMPLab BDAS 2012

Google Spanner 2012

Actian ParAccel 2012

Cloudera Impala 2012

Apache Drill 2012

Apache YARN 2011

SAP HANA 2011

Google Megastore 2011

MapR M5 2011

Hortonworks HDP 2011

Google Dremel 2010

VoltDB 2010

HP Vertica 2010

Apache Hive 2009

Cloudera CDH 2009

Apache Cassandra 2009

Google BigTable 2006

Page 17: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

17

Ferramentas de Processamento em Tempo Real

● Ferramentas de CEP e Stream Processing, focadas em processar dados online em Tempo Real

● Geram análises contínuas sobre grandes volumes de eventos, eliminando a necessidade de armazenamento antes da realização das consultas

● Utilização de heurísticas e algoritmos de aproximação, aplicando transformações sobre os dados para obter os resultados

● Execução contínua, algoritmos executam até que não sejam mais necessários

Page 18: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

18

Nome Ano Batch Interativo Tempo Real

Pivotal HD 2013

Google Photon 2013

AMPLab BDAS 2012

StreamBase CEP 2012

Apache Flume 2012

Apache YARN 2011

Google Megastore 2011

Apache Storm 2011

Apache Kafka 2011

MapR M5 2011

Hortonworks HDP 2011

Apache S4 2010

Cloudera CDH 2009

Page 19: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

19

Desafios

● As metodologias para programação desse tipo de sistemas ainda não estão bem definidas: Os sistemas Batch apresentam abordagem imperativa; Os sistemas de Tempo Real se caracterizam predominantemente pela utilização de linguagens funcionais; Já os os Interativos, se caracterizam por abordagens baseadas em SQL.

● As ferramentas apresentam focos específicos, mas em diversos casos apresentam possibilidades de utilizar a sua estrutura para resolver outros tipos de problemas, ainda que com performance reduzida. O que dificulta a caracterização desses sistemas de abordagem heterogênea.

Page 20: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

20

Conclusões e Trabalhos Futuros

● O ambiente de aplicações distribuídas para o processamento na nuvem não limita-se ao Hadoop, e está sendo constantemente estendido

● A proposta de caracterização, nos três grandes grupos sugeridos, facilita o processo de seleção das ferramentas e ajuda a determinar quais apresentam potencial para serem utilizadas por aplicações distribuídas na nuvem.

● Ainda não é possível afirmar se estas implementações convergirão para grandes sistemas de propósitos gerais, ou se evoluirão para um conjunto ainda mais heterogêneo de ferramentas para problemas específicos.

● Em nossos trabalhos futuros, iremos selecionar um subconjunto dessas ferramentas para analisar mais detalhadamente

Page 21: Análise e Caracterização das Novas Ferramentas para Computação em Nuvem

Análise e Caracterização das Novas Ferramentas para Computação

Distribuída na NuvemOtávio M. de Carvalho, Eduardo Roloff, Marco A. Z. Alves, Philippe O. A. Navaux

Universidade Federal do Rio Grande do SulGrupo de Processamento Paralelo e Distribuído

{omcarvalho,eroloff,mazalves,navaux}@inf.ufrgs.br