Gow logo
Back
Emannuell Luiz dos Anjos

Emannuell Luiz dos Anjos

Dashboard em 0,5s: Como ajudamos uma rede de hotéis a acelerar decisões com Data Lake, CQRS, CDC e AWS

Arquitetura de SoftwareContinuous Delivery - CI/CDSistemas DistribuídosEngenharia de SoftwareCloud Computing

Em um mercado dinâmico como o hoteleiro, tomar decisões com agilidade e precisão é vital. No entanto, a realidade de muitas empresas inclui diversas aplicações legadas, dados espalhados em múltiplos bancos e dificuldade em criar uma visão consolidada.

Foi exatamente esse o cenário de um dos nossos clientes: uma rede hoteleira que precisava de um dashboard centralizado, rápido e atualizado em tempo real, sem sobrecarregar os sistemas que sustentavam suas operações.

Neste artigo, mostramos como a GOW resolveu esse desafio com uma arquitetura moderna baseada em Data Lake, CDC, Event-Driven Architecture e CQRS — entregando uma solução robusta com tempo de renderização inferior a 0,5 segundos.

O desafio: dados dispersos, decisões lentas

O cliente possuía múltiplos sistemas e bancos de dados, utilizados em áreas como reservas, check-in, gestão de quartos, faturamento e CRM.

Cada sistema funcionava bem isoladamente, mas a ausência de integração dificultava a geração de insights em tempo real. O time de gestão precisava de um dashboard único com:

  • Visualização unificada de dados operacionais
  • Atualizações em tempo quase real
  • Desempenho alto mesmo com grandes volumes de dados
  • Zero impacto nos sistemas legados

A solução GOW: Data Lake, eventos e CQRS na prática

Para resolver esse cenário, adotamos uma abordagem que respeitasse os sistemas existentes, sem criar dependências diretas, e ao mesmo tempo construísse uma base sólida para escalabilidade futura.

🔹 1. Criação de um Data Lake centralizado em PostgreSQL

Optamos por implementar o Data Lake diretamente em uma instância dedicada de Amazon Aurora PostgreSQL (modo serverless para escalabilidade automática).

Além disso, aplicamos o padrão CQRS (Command Query Responsibility Segregation), separando leitura e escrita. Com isso:

  • Pudemos remover diversos índices de leitura nos bancos legados, otimizando significativamente operações de INSERT e UPDATE.
  • As consultas analíticas e pesadas foram movidas para o Data Lake, isolando a carga.

🔹 2. Implementação de CDC (Change Data Capture)

Utilizamos o AWS DMS (Database Migration Service) para capturar alterações em tempo real nos bancos existentes, sem afetar os sistemas de origem.

🔹 3. Orquestração com arquitetura orientada a eventos

Cada evento de alteração de dados era publicado em uma fila SQS. Um conjunto de AWS Lambdas monitorava essas filas, acionando pipelines ETL serverless que processavam, limpavam e padronizavam os dados automaticamente.

Tolerância a falhas

  • Dead-letter queue no SQS para eventos DMS que não puderam ser aplicados.
  • Retries automatizados com backoff exponencial, configurado no próprio DMS.

🔹 4. Observalibidade completa

A camada de visualização, totalmente desacoplada, foi construída com Grafana, permitindo dashboards rápidos, flexíveis e altamente visuais.

  • Logs estruturados
    • Cada Lambda envia logs JSON para CloudWatch Logs, incluindo campos:
      • request_id
      • event_source
      • records_processed
      • error_code / error_message
  • Métricas customizadas
    • CloudWatch Metrics:
      • Latência de ingestão (tempo entre chegada na SQS- e insert).
      • Contagem de mensagens com falha vs. sucesso.
    • Dashboards no Grafana (via datasource CloudWatch + Aurora PostgreSQL):
      • Gráfico de throughput de eventos (events/sec).
      • Heatmap de latência de consultas.
      • Painel de erros da DLQ.
  • Alertas e SLAs
    • Alarmes CloudWatch:
      • Ingestão parada (>5 min sem eventos).
      • Erro alto (≥ 5% de mensagens na DLQ em 10 min).
    • Notificações via SNS → Slack / e-mail.

Diagrama de Arquitetura Transformamos cada alteração de dados capturada pelo CDC num evento autônomo, permitindo escalabilidade, tolerância a falhas e processamento em lote

Media Content

Tecnologias utilizadas

Media Content

O impacto: performance real, decisões mais rápidas

Após a implantação:

  • Dashboard com tempo de resposta de 0,5s, mesmo com milhares de registros
  • Atualização contínua via CDC e eventos, sem cron jobs ou batchs manuais
  • Separação clara entre leitura e escrita com CQRS
  • Redução de carga nos bancos legados, graças à remoção de índices de leitura
  • Consultas analíticas isoladas e otimizadas no Aurora PostgreSQL
  • Unificação de múltiplas fontes, com tratamento e normalização de dados
  • Zero impacto nos sistemas legados
  • Fundação escalável, pronta para receber novos sistemas e tipos de dados

O cliente passou a tomar decisões operacionais em tempo real, com mais confiança e menos esforço manual de extração e cruzamento de dados.

Lições aprendidas

  • CDC + EDA é uma combinação poderosa para modernização de sistemas sem reescrita total.
  • A adoção de CQRS permitiu ganhos significativos de performance nos bancos legados.
  • Ter um pipeline de dados bem desenhado evita retrabalhos, aumenta a confiabilidade e melhora a escalabilidade.
  • Arquiteturas desacopladas favorecem manutenção, segurança e evolução tecnológica.

Conclusão

Essa experiência reforça um dos pilares da GOW: traduzir complexidade técnica em soluções que realmente fazem diferença no negócio.

Se a sua empresa também enfrenta desafios com dados dispersos, lentidão nos relatórios ou dificuldade em gerar dashboards confiáveis — nós podemos ajudar.

Entre em contato com a GOW e descubra como a nossa equipe pode transformar seu cenário de dados.

👉 [Solicitar diagnóstico gratuito] ou [Fale com um especialista]