BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Twitter abre o código do Summingbird

Twitter abre o código do Summingbird

Favoritos

O Twitter abriu o código do Summingbird, uma biblioteca para construção de soluções MapReduce que permite a execução em batch, real-time ou híbrido.

Em seu blog o Twitter explica que, quando era necessário escrever soluções MapReduce baseadas em streaming de dados, utilizava-se bibliotecas como o Pig ou o Scalding para escrever a lógica e o Hadoop para executá-las. Tais soluções eram geralmente executadas com intervalos de horas ou dias e, sim, eram muito eficientes.

Porém, havia a necessidade da análise de dados em tempo real, e daí surgiu o desenvolvimento do Storm. Sacrificando a garantia de tolerância a falhas encontrada no Hadoop, o Storm possibilitou a execução de aplicações MapReduce próximo ao chamado tempo real.

Com uma solução que mistura a execução em batch e em tempo real das fontes de dados, algumas dificuldades surgiram, tais como:

  • A necessidade de manter duas lógicas em diferentes sistemas;
  • A serialização consistente dos conjuntos chave-valor entre os diferentes sistemas e a aplicação cliente que irá consumir o resultado da aplicação MapReduce e;
  • A necessidade de implementação de um mecanismo na aplicação cliente de "merge" dos resultados providos pelos dois sistemas.

E é para esses problemas que o Summingbird foi desenvolvido. O summingbird permite a execução dessas aplicações MapReduce baseadas em streaming de dados pelo Hadoop e cuida do armazenamento dos resultados em um banco de dados de somente leitura. Os dados que não são processados pelo Hadoop são processados pelo Storm. O Summingbird também é responsável por ler os resultados dos dois sistemas e fazer o merge das informações para as aplicações clientes.

O projeto possui um wiki com os detalhes da biblioteca. Para quem está interessado em contribuir, há diversas frentes para o desenvolvimento do Summingbird, como o desenvolvimento do suporte a mais plataformas de execução (Akka e Spark) e a construção de extensões ao projetos relacionados ao Summingbird.

O Summingbird é disponibilizado através da licença Apache Versão 2.0.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT