logo
Publicado em

Como Usamos o Tinybird para Criar Nosso Painel de Análise em Tempo Real

Autores

Como Usamos o Tinybird para Criar Nosso Painel de Análise em Tempo Real

Na era digital de hoje, a capacidade de analisar dados em tempo real é crucial para otimizar estratégias de marketing e conquistar um público mais engajado. No CodeQR.io, decidimos implementar uma solução robusta para monitorar cliques em links e escaneamentos de QR codes em tempo real, e o Tinybird foi a escolha perfeita para nos ajudar nessa missão.

Por que Escolhemos o Tinybird

A análise em tempo real oferece um diferencial poderoso, permitindo que as empresas tomem decisões informadas quase instantaneamente. No entanto, a implementação dessa capacidade pode ser complexa e cara. Precisávamos de uma plataforma que fosse flexível na implementação de uma pipeline de eventos que agregasse os dados de diversas fontes e de forma escalável. Foi aí que o Tinybird se destacou como a solução ideal para nossas necessidades.

Tinybird é uma plataforma de dados em tempo real que facilita a ingestão de dados em streaming e a publicação de APIs em tempo real.

Nossos Critérios de Escolha

  1. Alta Frequência de Ingestão de Dados: Tinybird suporta ingestões de dados em alta frequência de diversas fontes, como Kafka e seus SaaS. Isso nos permite capturar dados em tempo real, garantindo que nossas análises estejam sempre atualizadas.
  2. Processamento e Transformação de Dados em Tempo Real: Utilizamos a interface intuitiva do Tinybird para definir transformações complexas que filtram, agregam e enriquecem os dados à medida que são ingeridos.
  3. Publicação de APIs de Baixa Latência e Alta Concurrência: Com o Tinybird, podemos publicar nossas consultas SQL como APIs REST de baixa latência, permitindo que nosso painel de análise consuma esses dados em tempo real. Cada API publicada inclui documentação compatível com OpenAPI, gerenciamento de tokens de autenticação e dashboards de observabilidade integrados para monitorar a performance da API.

Como Implementamos o Painel de Análise em Tempo Real

A implementação do nosso painel de análise em tempo real envolveu várias etapas, desde a configuração inicial até a publicação de APIs para visualização dos dados. Aqui está um resumo do nosso processo:

Configuração da Ingestão de Dados

Utilizamos a API de Eventos do Tinybird para capturar dados de cliques em links e escaneamentos de QR codes. Essa API é extremamente escalável, suportando até 1000 requisições por segundo.

import { pipe } from 'tinybird'

// Definição do schema de ingestão
const schema = {
  name: 'codeqr_click_events_pipe',
  fields: [
    { name: 'timestamp', type: 'datetime' },
    { name: 'link_id', type: 'string' },
    { name: 'user_agent', type: 'string' },
    { name: 'country', type: 'string' },
    { name: 'city', type: 'string' },
    { name: 'referrer', type: 'string' },
    { name: 'device', type: 'string' },
    { name: 'browser', type: 'string' },
  ],
}

// Configuração da API de eventos
pipe
  .create(schema)
  .then((response) => console.log('API de eventos configurada', response))
  .catch((error) => console.error('Erro ao configurar API de eventos', error))

Transformação e Processamento de Dados

Com a interface intuitiva do Tinybird, construímos "Pipes" que permitem consultas SQL compostas em vários estágios de processamento. Isso simplifica o fluxo de desenvolvimento e ajuda a identificar consultas que impactam a performance.

-- Definindo uma Pipe para análise de dispositivos
SELECT
  device,
  COUNT(*) as total_clicks
FROM codeqr_click_events_pipe
GROUP BY device;

Publicação de APIs

As consultas SQL são publicadas como APIs REST diretamente do Tinybird, permitindo que nosso painel de análise consuma esses dados em tempo real. Cada API publicada inclui documentação compatível com OpenAPI e dashboards de observabilidade para monitorar a performance e uso das APIs.

Agora podemos usar um endpoint /api/devices.json para fazer uma chamada via API para trazer os dados mostrados na consulta SQL. Para facilitar a visualização, vou remover os parâmetros do endpoint.

Benefícios Obtidos com o Tinybird

Desde a implementação do Tinybird, observamos vários benefícios significativos:

  • Decisões Mais Rápidas e Informadas: A análise em tempo real nos permite ajustar nossas estratégias de marketing quase instantaneamente com base nos dados mais recentes.
  • Melhora na Experiência do Usuário: Com dados atualizados, podemos oferecer uma experiência de usuário mais personalizada e relevante, aumentando o engajamento e a satisfação do cliente.
  • Eficiência Operacional: A plataforma unificada do Tinybird reduz a complexidade e os custos operacionais, permitindo que nossa equipe se concentre em desenvolver novas funcionalidades e melhorar os existentes.

Conclusão

O uso do Tinybird transformou a maneira como analisamos e reagimos aos dados em tempo real no CodeQR.io, capacitando a equipe a capturar, transformar e publicar dados rapidamente. Isso nos permite otimizar nossas operações e melhorar continuamente a experiência do usuário. Se você está buscando uma solução robusta para análise de dados em tempo real, recomendamos fortemente considerar o Tinybird.


Você pode usar este formato para publicar no blog da sua plataforma. Se precisar de mais alguma coisa, estou à disposição!