Crédito:
flickr / Robert Scoble
De acordo com a Infoworld, a maioria dos projetos Hadoop se encaixa perfeitamente em um desses sete tipos.
O artigo cita um provérbio que diz: se você oferecer a alguém o seu total apoio
e respaldo financeiro para fazer algo diferente e inovador, vai
acabar fazendo o que todo mundo está fazendo.

Todo
mundo pensa que está fazendo algo especial com estas novas
tecnologias de Big Data, mas não demora muito para encontrar os
mesmos padrões. Alguns casos específicos podem diferir um pouco,
mas aqui estão os sete projetos mais
comuns.

Projeto
1: Consolidação de Dados

Chamado de “Enterprise Data Hub” ou “Data Lake“, a principal ideia é que você tem diferentes fontes de dados e que
pretende realizar a análise através deles.
Este tipo de projeto
consiste em obter dados de todas as fontes (em tempo real ou em lote)
e carregá-los no Hadoop.
Às vezes, é o primeiro passo para se
tornar uma “empresa controlada por dados”; Às vezes você
simplesmente quer relatórios bonitos.
Os dados provenientes do “Data Lake” geralmente são armazenados como arquivos no HDFS e em
tabelas no Hive ou Impala. O futuro é armazenar e gerenciar os dados
no HBase e Phoenix, uma vez que o Hive é mais lento.
Os
vendedores gostam de dizer coisas como “esquema de leitura”,
mas na verdade, para ter sucesso, você deve ter em mente quais serão
seus casos de uso (o Hive não é tão diferente de um Data Warehouse).
A verdadeira razão para um “Data Lake” é a
escalabilidade horizontal e custo muito mais baixo do que Teradata ou
Netezza.
Para a “análise”, muitas pessoas configuram o
Tableau e o Excel no front-end. Empresas mais sofisticadas com
“cientistas de dados reais” usam Zeppelin ou iPython Notebook como front-end.

Projeto
2: Análise Especializada

Muitos
projetos de consolidação de dados efetivamente começam aqui, onde
você tem uma necessidade especial de carregar um conjunto de dados
para um sistema que faz algum tipo de análise.
Estes tendem a ser de
domínios específicos, tais como risco de liquidez/simulações de
Monte Carlo em um banco.
No passado, tais análises especializadas
dependiam de pacotes proprietários, antiquados, que não poderiam se
igualar como os dados faziam e frequentemente sofriam de um conjunto
limitado de funcionalidades (em parte porque o fornecedor do software
não poderia saber tanto sobre o domínio como a instituição imersa
nele).
Nos
mundos Hadoop e Spark, estes sistemas verificam praticamente o mesmo
que os sistemas de consolidação de dados, mas muitas vezes têm
mais HBase, código NoSQL customizado e menos fontes de dados (talvez apenas uma). Cada vez mais, eles são baseados no Spark.

Projeto
3: Hadoop como um Serviço

Comum em grandes organizações com projetos de “análises
especializadas” (e, ironicamente, um ou dois projetos de
“consolidação de dados”) que, inevitavelmente, vai
começar a sentir a “alegria” (isto é, dor) de gerenciar
alguns clusters Hadoop diferentemente configurados, muitas vezes, de
diferentes fornecedores.
Em seguida, vão dizer: “Talvez
devêssemos consolidar essa situação e reunir recursos”, ao
invés de ter a metade de seus nós ociosos pela metade do tempo.
Eles poderiam ir para a nuvem, mas muitas empresas não podem ou não
querem, muitas vezes para a sua própria segurança (leia-se: a
política interna da organização).
Isso geralmente significa um
monte de receitas prontas e posteriormente contêineres de pacotes
Docker.
Blue Data parece ser o mais próximo de uma
solução “fora da caixa”, que também vai apelar para
organizações menores que carecem de recursos para implantar o
Hadoop como um serviço.

Projeto
4: Análise de Streaming

Muitas
pessoas chamam isso de “streaming“, mas análise de streaming é bastante diferente do streaming tradicional a que estamos
acostumados.
Muitas vezes, análise de streaming é uma versão mais
em tempo real do que em lotes. Detecção de fraudes ou lavagem de
dinheiro: por que não fazer isso na base da transação e pegá-la
enquanto está processando, em vez de no final de um ciclo? O mesmo
vale para a gestão de inventário ou qualquer outra coisa.
Em
alguns casos, este é um novo tipo de sistema transacional que
analisa dados bit a bit como em um sistema de análise em paralelo.
Esses sistemas se manifestam como Spark ou Storm com HBase
(armazenamento de dados mais usual).
Note que a análise de streaming
não substitui todas as formas de análise; você ainda vai querer
procurar tendências históricas ou verificar dados do passado para
considerar algo que antes não tinha importância.

Projeto
5: Processamento de Eventos Complexos

Aqui
estamos falando de processamento de eventos em tempo real, onde
milissegundos importam.
Embora determinadas aplicações tenham tempos menores, tais como sistemas de negociação de
alta qualidade de ultra baixa latência (pico segundos ou nano
segundos), você pode esperar tempos de resposta em milissegundos.
Os
exemplos incluem a classificação em tempo real de registros de
dados de chamadas para empresas de telecomunicações ou processamento de eventos da Internet das coisas. 
Normalmente você verá que
esses sistemas usam o Spark e HBase, mas em geral eles são
convertidos para o Storm.
No
passado, esses sistemas foram baseados em software de mensagens
customizados – ou de alto desempenho, de prateleira, produtos de
mensagens cliente-servidor – mas os volumes de dados de hoje são
maiores para qualquer um.
Os volumes negociados e o número de
pessoas com celulares dispararam desde que esses sistemas legados
foram criados, além do que sensores médicos e industriais drenam
muitos bits.
O projeto Apex parece promissor
e mais rápido do que o Storm.

Projeto
6: Streaming como ETL

Às
vezes você quer capturar dados de streaming e armazená-los em algum
lugar. Esses projetos geralmente coincidem com o número 1 ou número
2, citados acima, mas com seu próprio escopo e características.
(Algumas pessoas pensam que estão fazendo os projetos 4 ou 5 mas, na
verdade, elas estão armazenando em disco para analisar mais tarde).
Estes são quase sempre projetos que envolvem Kafka e Storm. O Spark também é
usado, mas sem justificativa, a menos que você precise fazer
análise em memória.

Projeto
7: Substituir ou Aumentar SAS

SAS
é bom, mas também é caro e nós não estamos comprando caixas para
todos os cientistas e analistas de dados brincarem com os dados.
Além
disso, você quer fazer algo diferente do que a SAS pode fazer ou
gerar um gráfico mais bonito. Aqui está o seu belo “Data Lake”.
Aqui está o iPython Notebook ou Zeppelin. Vamos
preencher os resultados em SAS e armazenar resultados do SAS aqui.
Há projetos usando Hadoop, Spark ou Storm também. Se você estiver usando o Hadoop, você provavelmente
irá reconhecê-los.

Se
você é um veterano com muito medo do “Big” em Big Data
ou do Hadoop, não se preocupe. Quanto mais as
coisas mudam, mais elas permanecem iguais. Você vai encontrar muitas
semelhanças entre o material usado para implantar e as tecnologias
modernas que giram em torno da Hadooposfera.

Conclusão

Com este panorama dos tipos de projetos Hadoop mais comuns, pretendo ajudá-lo a identificar se sua empresa tem um caso de uso para as tecnologias para Big Data.
É comum que as pessoas pensem que têm projetos Big Data quando na verdade não têm, mas a “necessidade” de usar algo que todo mundo está comentando fala mais alto.
O entendimento dos casos de uso para Big Data pode poupar tempo e dinheiro, por isso fique atento!

Saiba mais...  Giro de Notícias 21ª Edição (Revolução nos táxis - de novo, 10 Projetos ML free, Melhores Práticas Virtualização e Cloud, Hacks Incríveis de 2015, 'Superman' dos metais)

Para saber mais

  1. Baixe o ebook sobre soluções para Big Data que escrevi;
  2. Se inscreva na lista que criei para discutir o tema no Google Groups;
  3. Confira minha palestra virtual apresentando os conceitos básicos da tecnologia, depois venha trocar idéias!