Antes de entrarmos no mérito, primeiro é preciso ter um conhecimento claro do que é Big Data. Uma breve introdução sobre Big Data é que ele fornece a capacidade de armazenar e processar um grande volume de dados, mas você pode entrar em detalhes nesse artigo ou nesses vídeos.

Quando estamos falando de enormes volumes de dados é fácil de pontuar que um computador apenas não consegue processar essa quantidade de dados. Pega como exemplo o nosso computador do dia-a-dia que vive ficando lento quando abrimos diversas páginas e arquivos. Imagina grandes volumes de dados. Talvez, dependendo do volume, aqueles supercomputadores consiga, mas te pergunto? Com qual custo? Com qual velocidade?

Com esse propósito é que se criou tecnologias para viabilizar o Big Data, ou seja, maneiras mais baratas de armazenar e processar enormes volumes de dados em tempo hábil.

Tecnologia para o Big Data

Essa tecnologia surgiu em 2005, criada pelos engenheiros Doug Cutting e Mike Cafarella, e com o nome de Apache Hadoop. Apenas por curiosidade, hadoop era o nome do brinquedo de estimação do filho de um dos criadores.

De uma maneira bem geral e superficial, essa tecnologia criou a capacidade de utilizar diversos computadores de baixo custo, todos eles trabalhando em conjunto, para armazenar e processar esse enorme volume de dados. Então o trabalho de armazenar e processar é distribuído para diversos computadores que trabalham em paralelo. Esse conjunto de computadores é chamado de cluster.

Ok, entendi. Hadoop então é a tecnologia que armazena e gerencia diversos computadores ou clusters de computadores, para processar enormes volumes de dados, mas então o que seria o Apache Spark e qual a diferença entre eles?

Apache Spark

Como toda e qualquer outra tecnologia, ela evolui e sofre mutações. Apache Spark é uma tecnologia que surgiu após o hadoop, que utiliza do próprio hadoop, e veio para atender a uma necessidade de negócio no qual o hadoop não conseguia atender, pelo menos até a escrita deste artigo.

E qual é essa necessidade?

R: Processar grandes volumes de dados em tempo real.

Apache Spark é excelente e foi pensado e projetado para processar Big Data em tempo real. Isso mesmo, processar enorme volume de dados em tempo de execução. Vejamos alguns exemplos práticos:

Rede sociais: exemplo pragmático sobre Big Data Real-time. A velocidade em que os dados são gerados nas redes sociais é incrível. E mais do que a velocidade é o tempo, pois uma informação publicada pela manhã já não se mantém no decorrer do dia. Os Trends do twitter comprovam que a informação é dinâmica, então a análise precisa ser em tempo real.

Internet: Se você ampliar para a internet então, só comprovamos cada vez mais a necessidade do Big Data Real-time. Vejamos o que acontece em 1 minuto na internet.


 

Network in one minute

É muita informação para ser processada e novamente, se a análise não for em tempo real, você estará sempre atrás.

Trânsito: Outro exemplo de dados que precisam ser processados em tempo real. O trânsito em uma cidade às 18 horas é totalmente diferente das 16 horas, que também é diferente das 17 horas. Acho que você já me entendeu.

Apache Spark utiliza processamento em memória e consegue ser até 100x mais rápido do que o processamento com hadoop.

Então, qual a melhor solução para meu Big Data?

A melhor solução para seu Big Data é aquela que melhor atende a sua necessidade. Parece clichê, mas não é. A escolha para a solução de Big Data vai depender do que ela precisa entregar.

Se a sua necessidade é processar grandes volumes de dados em tempo real, certamente a melhor solução é o Apache Spark.

Mas se você não tem essa necessidade, o hadoop pode ser a melhor solução para você.

Ou talvez você tenha que colocar o Hadoop e Apache Spark para trabalharem juntos. Isso é totalmente possível. Novamente, a sua necessidade é que irá dizer.

Converse com um dos nossos consultores, exponha a sua necessidade. Será um enorme prazer discutir a melhor solução para seu negócio. Conheça nossa oferta de Advanced Analytics.