análise e caracterização das novas ferramentas para computação em nuvem
Post on 05-Jun-2015
161 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
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
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
4
Abordagens para a Computação Distribuída na 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.
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.
7
Classificação das Abordagens
8
Processamento Batch
9
Processamento Interativo
10
Processamento em Tempo Real
11
Caracterização das Novas Ferramentas para Computação
Distribuída na 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
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
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
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)
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
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
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
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.
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
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
top related