Skip to main content
  1. Meus escritos/

Construindo um Pipeline de Dados Escalável para a Momspresso: Capacitando a Personalização de Conteúdo

No cenário digital em constante evolução, plataformas de conteúdo como a Momspresso precisam de uma infraestrutura de dados robusta para oferecer experiências personalizadas aos seus usuários. Hoje, estou animado para compartilhar insights sobre o pipeline de dados escalável que construímos para a Momspresso, que alimenta seus sistemas de análise e recomendação.

O Desafio #

A Momspresso precisava de um sistema que pudesse:

  1. Capturar eventos do usuário em tempo real
  2. Processar e armazenar grandes volumes de dados de forma eficiente
  3. Permitir análise rápida e visualização do comportamento do usuário
  4. Suportar um mecanismo de recomendação para entrega de conteúdo personalizado

Nossa Solução: Um Pipeline de Dados Abrangente #

Projetamos um pipeline de dados com múltiplos componentes que atende a essas necessidades:

1. SDK de Eventos Python #

Desenvolvemos uma classe Python simples que pode ser integrada em todo o código da Momspresso. Este SDK permite que o sistema envie eventos sem escrever código subjacente, facilitando para os desenvolvedores rastrear as interações do usuário.

2. Serviço Web de Eventos #

Este serviço recebe eventos do SDK e os envia para o Kafka após uma validação mínima. Ele atua como o ponto de entrada para todos os dados de interação do usuário.

3. Apache Kafka #

Escolhemos o Kafka como nosso sistema de intermediação de mensagens e pub-sub devido à sua alta taxa de transferência e design tolerante a falhas. Atualmente rodando em uma única máquina, está pronto para escalar conforme a Momspresso cresce.

4. Sistema de Captura de Dados #

Este componente escuta todos os eventos do Kafka e os insere em um banco de dados PostgreSQL. Usando as capacidades JSON do Postgres, criamos um conjunto de dados flexível e consultável.

5. Armazenamento de Eventos PostgreSQL #

Nosso armazenamento de dados primário para todos os eventos. Implementamos um sistema de arquivamento mensal para gerenciar o armazenamento de forma eficiente.

6. Grafana para Análises em Tempo Real #

Conectado ao nosso armazenamento de eventos, o Grafana permite que a Momspresso crie gráficos de consultas em tempo real, acompanhe o uso de recursos, monitore o desempenho de conversão e detecte anomalias.

7. Sistema de Visualização de Dados #

Este componente executa uma série de heurísticas e modelos para definir atributos do usuário, atualizando um banco de dados separado de Visualização do Usuário.

8. Banco de Dados de Visualização de Dados PostgreSQL #

Este banco de dados armazena as visualizações de usuário processadas, permitindo acesso rápido aos dados derivados do usuário.

9. Metabase para Painéis #

Usando o banco de dados de Visualização de Dados, o Metabase permite que a Momspresso crie painéis personalizados e relatórios usando consultas SQL.

10. Serviço Web de Impressão Digital Única #

Um serviço inteligente de pixel 1x1 que atribui uma assinatura única em um cookie para cada usuário, permitindo rastrear usuários entre sessões.

O Poder Deste Pipeline #

Este pipeline de dados capacita a Momspresso de várias maneiras:

  1. Insights em Tempo Real: A Momspresso agora pode rastrear o comportamento do usuário e o desempenho do conteúdo em tempo real.
  2. Personalização: Os dados estruturados do usuário permitem algoritmos sofisticados de recomendação de conteúdo.
  3. Análise Flexível: Com dados armazenados em formatos consultáveis, a Momspresso pode realizar análises ad-hoc facilmente.
  4. Escalabilidade: O design modular permite que componentes individuais sejam escalados ou substituídos conforme necessário.

Olhando para o Futuro #

À medida que a Momspresso continua a crescer, este pipeline de dados desempenhará um papel crucial na compreensão do comportamento do usuário e na entrega de experiências personalizadas. Estamos animados para ver como a Momspresso aproveitará essa infraestrutura para aprimorar sua plataforma e envolver sua comunidade de forma mais eficaz.

Fique atento ao nosso próximo post, onde mergulharemos no sistema de recomendação construído sobre este pipeline de dados!