Samba Tech Analytics: Arquiteturas e tecnologias por trás da análise de vídeos online em larga...
-
Upload
big-data-week-sao-paulo -
Category
Technology
-
view
84 -
download
5
description
Transcript of Samba Tech Analytics: Arquiteturas e tecnologias por trás da análise de vídeos online em larga...
Agenda
• Intro • Migrando de relatório para uma solução de BI • Under the Hood • Lições aprendidas
Reporting
Analytics&
No Início - Report
Fornecer informações de usoEstatísticas e dados gerais
• Número de Visualizações • Número de Visualizações Completas • Retenção por quartil • Tráfego • Número de Uploads, etc…
No Início - Report
No Início - Report
+ Dados
!
• Problema: Custo Elevado • Apresentava bom desempenho
• Problema: Instabilidade, interações entre aplicações • Aplicações com perfis muito diferentes convivendo num
mesmo cluster. • Crescimento expressivo no volume de dados e requisições
• Problema: crescimento acelerado da base, administração do banco.
No Início - Então decidimos coletar mais dados - Java, Python e Mysql
V1
O Problema mudou?
Rever os objetivos
O problema mudou?
FEYNMAN PROBLEM-SOLVING ALGORITHM
Murray Gell-Mann
“
“ http://drtomcrick.com/2011/04/26/feynman-problem-solving-algorithm/
Feynman
FEYNMAN PROBLEM-SOLVING ALGORITHM1. Write down the problem.
Murray Gell-Mann
“
“ http://drtomcrick.com/2011/04/26/feynman-problem-solving-algorithm/
FEYNMAN PROBLEM-SOLVING ALGORITHM1. Write down the problem. 2. Think very hard.
Murray Gell-Mann
“
“
FEYNMAN PROBLEM-SOLVING ALGORITHM1. Write down the problem. 2. Think very hard. 3. Write down the answer
Murray Gell-Mann
“
“
+Perguntas+ Dados
+ Clientes+Segmentos
O problema - BI
Processamento de dados
Foco na Inovação e construção da solução Somos uma startup
Manter foco na Inovação Flexível e Escalonável SLA Alto Pagar de acordo com o uso Baixo custo de administração de infra
Objetivos
A visualização dos dados deve ser clara e objetiva.
Objetivos
Design agrega valor!
Analytics geralGe ral
Analytics detalhes de consumo da mediaVI
DEO
Em altaEM
ALTA
Perfil da audiênciaQUEM
Samba facts Dados de volume do analytics
Small Sharp Tools
Filosofia Unix
COLETARData Pipeline
PROCESSAR INFORMAR
Data Pipeline - STTM
Sambatech Tracking Model
COLETOR APIPROCESSADOR
STTM - Solução
Dynamo Amazon SQS
S3Data and Logs
Glacier
COLETOR API
PROCESSADOR
AGREGADOR
SUMARIZADOR
HTTP IN HTTP OUT
EMRData Processing
COLETARData Pipeline
PROCESSAR INFORMAR
Data Pipeline - STTM
INFORMAR
COLETOR
Coleta de dados - STTM
GET sttm.gif http://sttm.sambatech.com.br/collector/__sttm.gif?sttms=12de2304-74f2-80f0-8b8b-909ec4c4f158&sttmu=123a232saa111kkkk3&sttmm=p07,r07,p08,r08,p09,r09,p10,r10&sttmw=pid:310/cat:5219/mid:b1e9b34ce8f6d8e73d5793a80387967d&sttmk=ae810ebc7f0654c4fadc50935adcf5ec&&sttmsg=org:www.mydomain.com.br&sttmm=play
COLETOR
Response
35 Bytes
COLETOR - Objetivos
• Rápido • Simples e Escalável • Confiável e Consistente
COLETOR
COLETOR
COLETOR
HTTP IN
Logger
Msg Builder
COLETOR
COLETOR
HTTP IN
Logger
Msg Builder
Amazon SQS
COLETOR
COLETOR
HTTP IN
Logger
Msg Builder
Amazon SQS
S3Data and Logs
Glacier
COLETOR
Amazon SQS
S3Data and Logs
Glacier
COLETOR
HTTP IN
Logger
Msg Builder
GIF
COLETOR
Comunicação
Amazon SQS
• Assincronia e Controle de fluxo • Sem perdas de mensagens • Log de mensagens não processadas. • Escalável sob demanda • Alto SLA • Gerenciado • Custo relativamente Baixo • Não suporta AMQP
COLETARData Pipeline
PROCESSAR INFORMAR
Data Pipeline
INFORMARPROCESSARCOLETAR
PROCESSADOR
Processador
Dynamo Amazon SQS
PROCESSADOR
AGREGADOR
SUMARIZADOR
EMRData Processing
Agregador
Dynamo Amazon SQS
AGREGADOR
Builder
Msg Agreg
Porque Dynamo
• Baixa Latência • Alta performance • Gerenciado • Escalável • Alto SLA • Multi A/Z • Hot Keys Problem
Dynamo
Agregador
Amazon SQS
AGREGADOR
Builder
Msg Agreg
Agregador
Amazon SQS
AGREGADOR
Builder
Msg Agreg
Auto scaling GroupInstances
APP SrvAgregation
Hot Keys Problem
Dynamo
AGREGADOR
Builder
Msg Agreg
Registro
Writ
es0
27.5
55
82.5
110
Time
1 2 3 4 5 6
Write Capacity
Hot Keys Problem
Dynamo
AGREGADOR
Builder
Msg Agreg
Split Keys
Hot Keys Problem
Writ
es0
27.5
55
82.5
110
Time
1 2 3 4 5 6
Write Capacity
Dynamo
AGREGADOR
Builder
Msg Agreg
Split Keys
Hot Keys Problem
Dynamo
AGREGADOR
Builder
Msg Agreg
Split Keys
Tabelas Diarias
Processador
Dynamo Amazon SQS
PROCESSADOR
AGREGADOR
SUMARIZADOR
EMRData Processing
Sumarizador
Dynamo
EMRData Processing
Sumarizador
!
• Escalável • Controle de Custos • Managed • Hadoop como serviço • Map Reduce Engine • Bom gerenciamento de capacidade • Integração com S3 e Dynamo
EMRData Processing
Porque EMR
Diarias
Dynamo EMRData Processing
Sumarizador
Load
Sumarizador
Diarias
Dynamo EMRData Processing
Sumarizador Merge Keys
Sumarizador
Jobs
Sumarizadas Minutos
Horas
Dynamo EMRData Processing
Sumarizador
Save
Sumarizador
1. Run job 2. Find Bottoleneck 3. Optimize
Sumarizador
Dynamo
EMRData Processing
Sumarizador x/diaNetwork
Sumarizador
Dynamo
EMRData Processing
Sumarizador
Alive Cluster
x/dia
Conhecer bem o problema e os dados é essencial.
Otimizações locais são eficientes!
COLETARData Pipeline
PROCESSAR INFORMAR
Data Pipeline
INFORMARINFORMARCOLETAR
API
API - Rest
Dynamo
API
CDN
Analytics - Solução
RECAP
Dynamo Amazon SQS
S3Data and Logs
Glacier
COLETOR API
PROCESSADOR
AGREGADOR
SUMARIZADOR
HTTP IN HTTP OUT
EMRData Processing
Lições aprendidas
As aplicações são focadas, pequenas e conectadas por uma fila ou datastore.
O output de uma é input para a outra.
Cus
to
0
0.25
0.5
0.75
1
Latência (H)
0 1 3 6 12 24
100%
57%46%
40% 38% 37%
Latência vs Custo
Custo estimado Por Requisição
Latência vs Custo
Custo
0
0.25
0.5
0.75
1
Latência(H)
0 1 3 6 12 24
100%
57%
46%40% 38% 37%
Latência vs Custo
Custo estimado Por Requisição
Latência vs Custo
Manter foco na Inovação Flexível e Escalonável SLA Alto Pagar de acordo com o uso Baixo custo de administração de infra
Objetivos
• Soluções gerenciadas ajudam a manter o foco no problema, mas podem trazer limitações inesperadas.
• Arquitetura flexíveis ajudam a responder rapidamente a limitações.
!
!!
COnclusão