Problemas em lotes

Conceitos de Streaming

Mike Metzger

Data Engineer

Atrasos

  • Tempo até os dados estarem prontos para processar
    • Todos os dados estão disponíveis?
  • Tempo até o processo começar
    • Quando inicia o próximo intervalo?
  • Tempo para processar os dados
    • Quanto falta para concluir?
  • Tempo até os dados processados ficarem disponíveis para uso
    • Em quanto tempo os usuários podem usar os dados?
Conceitos de Streaming

Exemplo #1

Esperando pelos dados de origem

  • Máquinas enviam logs em momentos de baixa utilização
  • Funciona bem em utilização normal
  • Alta utilização pode limitar o envio de logs, potencialmente ocultando problemas.
Conceitos de Streaming

Exemplo #2

Esperando pelo processo

  • 100GB de logs por dia
  • Atualmente leva 23 h para processar
  • Aproximadamente 4,4 GB/h
  • Cresce 5% ao mês
  • No próximo mês seriam 105GB e levaria ~24 h
  • No seguinte seriam ~110GB e levaria ~25 h
  • Leva mais de um dia para processar os dados de um dia!
Conceitos de Streaming

Exemplo #3

Esperando os dados ficarem disponíveis

  • Em quanto tempo as análises estarão disponíveis?
  • O relatório de vendas deve aguardar toda a informação ser gerada
  • A soma dos atrasos é o tempo mínimo para gerar novo relatório
    • Tempo para coletar / preparar dados: 1 dia
    • Tempo para processar dados: 7 h
    • Tempo para atualizar sistemas: 5 h
    • Tempo para gerar relatório: 2 min
  • Tempo total por relatório: 1,5 dia
Conceitos de Streaming

Vamos praticar!

Conceitos de Streaming

Preparing Video For Download...