O documento discute o uso da solução BigQuery do Google para analisar dados de vagas de emprego coletados por um rastreador da web. A solução BigQuery é mais econômica e escalável do que Hadoop, pois os dados são armazenados e processados na nuvem sem a necessidade de manutenção de hardware. No entanto, BigQuery tem limitações em relação a atualizações e exclusões de dados.
1. Rastreador de vagas disponíveis na Web
Davi Amaral (CEO)
Felipe Pinto
Bruno Pedrosa
Francke Peixoto
Thiago Dias
Ricardo Gomes
2. Rastreador de vagas disponíveis na Web
Cenário
Um analista de sistemas da JOIN US, em seu momento de ócio, desenvolveu um
rastreador que procura por publicação de vagas na web. Como analisar esses dados
de forma simples, barata é rápida?
O WebCrawler desenvolvido por Felipe Pinto, gera por mês em média 50 milhões de
linhas.
Dados oriundos de navegação em redes sociais, grupos de e-mails e fóruns.
3. Rastreador de vagas disponíveis na Web
Solução proposta
O que é ?
É uma solução em nuvem (cloud) para entregar Big Data SaaS. Pague pelo que usar.
O Google BigQuery é uma solução Big Data, como o Hadoop, com a vantagem de não se precisar contratar e/ou comprar uma
série de servidores, nem, contar com mão-de-obra, altamente, especializada.
4. Rastreador de vagas disponíveis na Web
Porque o Google BigQuery?
Demonstração 1gb grátis para armazenamento 5Gb grátis por 12 meses Ferramenta é Livre
Preço $ 0,025/mês por Gb
+ $5,00 por Tb processado
$84/mês por Tb Desvantagem de se precisar contratar
e/ou comprar uma série de servidores,
contar com mão-de-obra, altamente,
especializada.
Deixando seus custos menos
controláveis.
Manutenção $0 $0
5. Rastreador de vagas disponíveis na Web
Comparativo
Por que o BigQuery é muito mais
rápido do que o Hadoop?
Muito difícil. Para ganhar performance escalar, o Hadoop depende de caixas (servidores).
Enquanto a maioria dos clusters de Hadoop que tenho visto no Brasil, vão de 4 a 10 servidores (alguns
casos com até 40 servidores, mas, a maioria fica abaixo de 10) e isso é muito custo $$$.
No BigQuery as aplicações já nascem grande. Seus dados são replicados para dezenas de servidores.
Assim como, uma andorinha não faz verão, meia dúzia de servidores Hadoop também não.
Então, comparar a performance do BigQuery com um “clusterzinho” de Hadoop não é uma comparação das mais justas.
6. Rastreador de vagas disponíveis na Web
Comparativo
Obter informações a respeito da performance de processamento com
TPCTransaction Processing Performance Council
O TPC é uma organização sem fins lucrativos, tendo como objetivo principal estabelecer critérios para se obter informações a respeito
da performance de processamento de transações e de banco de dados através de benchmarks.
Baseia-se em testes padronizados tais como o TPC-C, o TPC-W e o TPC-H para obter tais resultados e só assim divulgar os dados reais dessa
performance. Estes testes do TPC seguem normas extremamente rigorosas que testam diversos pontos do sistema - principalmente
nos quesitos confiabilidade e durabilidade.
TPC-H Simulam um ambiente de Data Warehouse, sincronizado com bancos
de dados de produção online.
Este benchmark se utiliza de consultas aleatórias de alto grau de
complexidade, projetadas para responder a algumas questões de
negócios do mundo real, como: perguntas sobre pré e
promoções, oferta e demanda, lucro e receita e
participação de mercado.
7. Rastreador de vagas disponíveis na Web
Comparativo
Tempo de execução de consulta por segundos.
8. Rastreador de vagas disponíveis na Web
Conclusão da Analise
Para TPC-H Query (massively parallelizable)
Vemos que BigQuery supera claramente RedShift (com um nó, bem como 8 nós).
Mesmo o desempenho do cache hot do RedShift é inferior ao BigQuery.
Este é provavelmente porque o BigQuery utiliza servidores proporcionais para resolver a consulta massivas com um alto grau de
paralelismo mediante ao tamanho do DataSet.
Para esse projeto a solução mais viável é o
Entre as soluções apresentadas ela é mais economicamente viável, e não apresenta
custo de mão de obra para manutenção dos servidores.
9. Rastreador de vagas disponíveis na Web
Nem tudo são flores...
O BigQuery não é um banco de dados relacional tradicional!
Ele continua sendo um Big Data, em toda sua amplitude:
Dados não estruturados (embora apresente-os como tabelas), NoSQL (embora tenha uma linguagem,
própria, SQL “like”), não é possível criar índices, não é possível modificar os dados
(updates or deletes).
Ele é um sistema, puramente, OLAP.
A importação e/ou cópia dos dados para a nuvem é uma tarefa árdua, demorada, chata e nada inteligente. Se algo dá errado em
algum arquivo, as coisas ficam, realmente, pretas.
10. Rastreador de vagas disponíveis na Web
Fontes
http://bighadoop.wordpress.com/2012/05/13/google-bigquery/
https://cloud.google.com/developers/articles/getting-started-with-google-bigquery?hl=pt-br
http://computerworld.com.br/tecnologia/2013/01/25/os-10-melhores-provedores-de-armazenamento-na-nuvem-segundo-o-gartner/
http://www.fam2011.com.br/site/revista/pdf/ed10/art04.pdf
http://bighadoop.wordpress.com/2012/05/13/google-bigquery/
http://news.dice.com/2013/04/15/googles-bigquery-vs-hadoop-a-matchup-2/
http://gavinbadcock.wordpress.com/2013/02/06/googles-bigquery-vs-hadoop-complimentors-or-competitors/
http://googlecloudplatform.blogspot.com.br/2014/04/google-bigquery-and-datastore-connectors-for-hadoop.html
http://gigaom.com/2012/07/07/why-the-days-are-numbered-for-hadoop-as-we-know-it/
http://cloudacademy.com/blog/when-to-use-google-bigquery/
http://www.megapivot.com/blog/posts/redshift-vs-bigquery-vs-hadoop.html
http://courses.cs.washington.edu/courses/cse544/13sp/final-projects/p18-lijl.pdf