Dimensionando o processamento em lote
Conceitos de Streaming
Mike Metzger
Data Engineer
O que é dimensionamento?
Melhorar a
performance
Processar
mais rápido
Menos tempo para o mesmo volume de dados
Processar
mais dados
Mais dados no mesmo tempo
Dimensionamento vertical
Computação melhor
CPU mais rápida
IO mais rápido
Mais memória
Geralmente o tipo de dimensionamento
mais fácil
Menos complexidade
Raramente exige mudar programas/algoritmos base
1
Images courtesy https://unsplash.com/@jeremy0
Contras do dimensionamento vertical
Limitado
por natureza
Pode ser
caro
/ baixo ROI
Avanços da indústria
não são garantidos
Dimensionamento horizontal
Dividir
uma tarefa em várias partes
Mais computadores
Também pode ser mais CPUs
Ideal para tarefas
"embarrassingly parallel"
Tarefas que podem ser facilmente distribuídas entre trabalhadores
Pode ser bem
custo-efetivo
Pode ter
ganhos quase lineares
para certos processos
Contras do dimensionamento horizontal
Complexidade
Exige um framework de processamento (como Apache Spark ou Dask)
Exige rede mais robusta
Gestão contínua
Pode ser
caro
dependendo das necessidades
Tarefas
"não paralelizáveis"
Vamos praticar!
Conceitos de Streaming
Preparing Video For Download...