BT

Experimente a nova interface visual do InfoQ! Veja o novo design do InfoQ 3.0 e nos diga o que você achou.

Análise em tempo real no Pinterest utilizando o MemSQL e o Spark Streaming

| por Srini Penchikala Seguir 41 Seguidores , traduzido por Alexandre Uehara Seguir 0 Seguidores em 22 jun 2015. Tempo estimado de leitura: 1 minuto |

A Pinterest, empresa por trás da ferramenta de bookmarking visual que ajuda a descobrir e salvar idéias criativas, está usando análise de dados em tempo real para tomada de decisões orientada a dados (data-driven). Estão experimentando o MemSQL e as tecnologias Spark para o engajamento de usuários em tempo real.

Utilizando o MemSQL e o Spark, a Pinterest criou um pipeline para receber dados dentro do MemSQL utilizando o Apache Kafka e alimenta os dados dentro do Spark via Spark Streaming API. Essa solução fornece, em tempo real, informações sobre como os usuários estão interagindo com os Pins pelo mundo a fora. Isso ajuda a Pinterest a melhorar o mecanismo de recomendação mostrando os Pins relacionados para as pessoas usarem o serviço para diferentes casos de uso como: se planejar sobre quais produtos comprar, locais para ir e receitas para cozinhar.

Os dados de engajamento do Pin são inseridos em um tópico do Kafka que é então consumido pela tarefa do Spark streaming. Nessa tarefa cada Pin é filtrado e então enriquecido, com a geo-localização e a informação da categoria do Pin. Esse dado enriquecido é persistido pelo banco de dados MemSQL usando MemSQL Spark Connector e é disponibilizado para servir de consulta. O conector MemSQL Spark fornece ferramentas para leitura e escrita no banco de dados MemSQL usando o Spark. O conector usa MemSQLRDD para ler os dados do banco de dados MemSQL.

Essa solução oferece uma infra-estrutura que coleta, armazena e processa os dados de engajamento dos usuários em tempo real. Também ajuda a alcançar as seguintes recursos:

  • Alto desempenho no log de eventos usando um agente chamado Singer para coletar eventos de logs e enviá-los para um repositório centralizado;
  • Transporte e armazenamento confiável de log utilizando o Apache Kafka e serviço de persistência de log chamado Secor, que escreve de forma confiável esses eventos para o armazenamento de longo prazo na Amazon S3. Secor foi projetado para superar o fraco modelo de consistência do S3, sem a perda de dados e com escalabilidade horizontal e particionamento opcional de dados baseados em data.
  • Execução rápida de consulta de dados em tempo real que permite uma execução de consultas SQL sobre os eventos à medida que eles chegam.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
BT