SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Como arquiteturas de dados
quebram
Data Engineering 101
Gleicon Moraes
Data Engineering life
● Descobrir legados
● Administrar storage, message queue, scheduling
● Refatorar comunicação via DB para APIs
● Treinar e manter modelos
● Backfill, backfills everywhere
● Capacity planning
● Latencia
Como arquiteturas quebram
● Por design
● Por capacidade
● Por falta de dono
● Por escolha de tecnologia
Analytics architecture
Lambda architecture
Data gravity
"As Data accumulates (builds mass), there is a greater likelihood that
additional Services and Applications will be attracted to this data. (...) Data,
if large enough, can be virtually impossible to move."
Dave McCrory *
*https://blog.mccrory.me/2010/12/07/data-gravity-in-the-clouds/
Data gravity
Data gravity
Data gravity
Data gravity
Data gravity
O caso do cluster sem cabeça
● ScyllaDB 0.0x
● Cluster 6 nodes Multi-AZ
● 1.5 TB Raid/Node
● 3 Seeds nodes
● 4 Keyspaces
● 65% ocupado
● 35 - 50k writes/sec, picos de 150k writes/sec
O caso do cluster sem cabeça
O caso do cluster sem cabeça
O caso do cluster sem cabeça
O caso do cluster sem cabeça
O caso do cluster sem cabeça
● 16h de manutenção (nodetool cleanup usava todos cores)
● Um cluster de Cassandra para cada keyspace
● 3 meses de migração
● De 6 para 63 nodes
● Crescimento de 7x do volume de dados.
● Take out 1: Não se empolgar com bancos de dados imaturos
● Take out 2: Não concentrar todas aplicações no mesmo data store
● Take out 3: Melhor escalar horizontalmente do que verticalmente
Analytics
● Analytics pipeline
● Relatórios sobre longos períodos de tempo
● Volume de dados cresceu 7x em 10 meses
● Bases de dados compartilhadas
● Meio baseado em eventos, meio baseado em ETLs
Analytics
Batch Processing
Analytics
Batch Processing
Analytics
Online Processing
Analytics
● Sair de ETLs para streams de dados
● Não compartilhar data storages
● Não se comunicar por data storages
● Sair de consumidores baseados em Spark
● Pré calcular relatórios
Obrigado !
● github.com/gleicon
● medium.com/@gleicon
● twitter.com/gleicon
● gleicon@gmail.com

Mais conteúdo relacionado

Mais procurados

Banco de dados no Android com Couchbase Lite
Banco de dados no Android com Couchbase LiteBanco de dados no Android com Couchbase Lite
Banco de dados no Android com Couchbase Lite
Fernando Camargo
 

Mais procurados (20)

NOSQL uma breve introdução
NOSQL uma breve introduçãoNOSQL uma breve introdução
NOSQL uma breve introdução
 
TDC2016POA | Trilha BigData - Google BigQuery: Estudo de Caso Globo.com
TDC2016POA | Trilha BigData - Google BigQuery: Estudo de Caso Globo.comTDC2016POA | Trilha BigData - Google BigQuery: Estudo de Caso Globo.com
TDC2016POA | Trilha BigData - Google BigQuery: Estudo de Caso Globo.com
 
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
 
Cassandra overview: Um Caso Prático
Cassandra overview:  Um Caso PráticoCassandra overview:  Um Caso Prático
Cassandra overview: Um Caso Prático
 
Introdução ao NoSql
Introdução ao NoSqlIntrodução ao NoSql
Introdução ao NoSql
 
Calypte Cache
Calypte CacheCalypte Cache
Calypte Cache
 
OverviewBigData_PythonSudeste2017
OverviewBigData_PythonSudeste2017OverviewBigData_PythonSudeste2017
OverviewBigData_PythonSudeste2017
 
Cassandra Trip Brasil
Cassandra Trip BrasilCassandra Trip Brasil
Cassandra Trip Brasil
 
Hadoop
HadoopHadoop
Hadoop
 
Chart css
Chart cssChart css
Chart css
 
Cassandra NoSQL JUG Vale 2012
Cassandra NoSQL JUG Vale 2012Cassandra NoSQL JUG Vale 2012
Cassandra NoSQL JUG Vale 2012
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
 
AWS Meetup - Processando dados em alta escala com Node.js e AWS Lambda
AWS Meetup - Processando dados em alta escala com Node.js e AWS LambdaAWS Meetup - Processando dados em alta escala com Node.js e AWS Lambda
AWS Meetup - Processando dados em alta escala com Node.js e AWS Lambda
 
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivo
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivoBig Data com MATLAB (Tiago Monteiro), Webinar ao vivo
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivo
 
Bancos de dados NoSQL
Bancos de dados NoSQLBancos de dados NoSQL
Bancos de dados NoSQL
 
NoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dadosNoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dados
 
Banco de dados no Android com Couchbase Lite
Banco de dados no Android com Couchbase LiteBanco de dados no Android com Couchbase Lite
Banco de dados no Android com Couchbase Lite
 
Seminário - NoSQL
Seminário - NoSQLSeminário - NoSQL
Seminário - NoSQL
 
Conhecendo Apache Cassandra @Movile
Conhecendo Apache Cassandra  @MovileConhecendo Apache Cassandra  @Movile
Conhecendo Apache Cassandra @Movile
 
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQLEstudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
 

Semelhante a Como arquiteturas de dados quebram

Secot banco de dados no sql de código aberto
Secot   banco de dados no sql de código abertoSecot   banco de dados no sql de código aberto
Secot banco de dados no sql de código aberto
Suissa
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código aberto
Suissa
 
Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...
Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...
Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...
Ricardo Ferreira
 

Semelhante a Como arquiteturas de dados quebram (20)

[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL
 
Xen e CoreOS: solução para data mining com NodeJS e ElasticSearch
Xen e CoreOS: solução para data mining com NodeJS e ElasticSearchXen e CoreOS: solução para data mining com NodeJS e ElasticSearch
Xen e CoreOS: solução para data mining com NodeJS e ElasticSearch
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Bancos de dados analíticos open source
Bancos de dados analíticos open sourceBancos de dados analíticos open source
Bancos de dados analíticos open source
 
Stream de dados e Data Lake com Debezium, Delta Lake e EMR
Stream de dados e Data Lake com Debezium, Delta Lake e EMRStream de dados e Data Lake com Debezium, Delta Lake e EMR
Stream de dados e Data Lake com Debezium, Delta Lake e EMR
 
[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados
 
Secot banco de dados no sql de código aberto
Secot   banco de dados no sql de código abertoSecot   banco de dados no sql de código aberto
Secot banco de dados no sql de código aberto
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código aberto
 
Big Data, NoSQL e In Memory Databases
Big Data, NoSQL e In Memory DatabasesBig Data, NoSQL e In Memory Databases
Big Data, NoSQL e In Memory Databases
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
Mongo db no mundo real slides
Mongo db no mundo real   slidesMongo db no mundo real   slides
Mongo db no mundo real slides
 
DevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesDevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slides
 
Artigo Nosql
Artigo NosqlArtigo Nosql
Artigo Nosql
 
Hadoop
HadoopHadoop
Hadoop
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência Poliglota
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
 
Gridcomputacionais
GridcomputacionaisGridcomputacionais
Gridcomputacionais
 
Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQL
 
Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...
Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...
Patterns & Best Practices para uma Arquitetura de Software Baseada em In-Memo...
 

Mais de Gleicon Moraes

Architectural Anti Patterns - Notes on Data Distribution and Handling Failures
Architectural Anti Patterns - Notes on Data Distribution and Handling FailuresArchitectural Anti Patterns - Notes on Data Distribution and Handling Failures
Architectural Anti Patterns - Notes on Data Distribution and Handling Failures
Gleicon Moraes
 

Mais de Gleicon Moraes (20)

Arquitetura emergente - sobre cultura devops
Arquitetura emergente - sobre cultura devopsArquitetura emergente - sobre cultura devops
Arquitetura emergente - sobre cultura devops
 
API Gateway report
API Gateway reportAPI Gateway report
API Gateway report
 
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
 
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
 
Por trás da infraestrutura do Cloud - Campus Party 2014
Por trás da infraestrutura do Cloud - Campus Party 2014Por trás da infraestrutura do Cloud - Campus Party 2014
Por trás da infraestrutura do Cloud - Campus Party 2014
 
Locaweb cloud and sdn
Locaweb cloud and sdnLocaweb cloud and sdn
Locaweb cloud and sdn
 
A closer look to locaweb IaaS
A closer look to locaweb IaaSA closer look to locaweb IaaS
A closer look to locaweb IaaS
 
Semi Automatic Sentiment Analysis
Semi Automatic Sentiment AnalysisSemi Automatic Sentiment Analysis
Semi Automatic Sentiment Analysis
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 
OSCon - Performance vs Scalability
OSCon - Performance vs ScalabilityOSCon - Performance vs Scalability
OSCon - Performance vs Scalability
 
Architectural Anti Patterns - Notes on Data Distribution and Handling Failures
Architectural Anti Patterns - Notes on Data Distribution and Handling FailuresArchitectural Anti Patterns - Notes on Data Distribution and Handling Failures
Architectural Anti Patterns - Notes on Data Distribution and Handling Failures
 
Architecture by Accident
Architecture by AccidentArchitecture by Accident
Architecture by Accident
 
Patterns of fail
Patterns of failPatterns of fail
Patterns of fail
 
Dlsecyx pgroammr (Dyslexic Programmer - cool stuff for scaling)
Dlsecyx pgroammr (Dyslexic Programmer - cool stuff for scaling)Dlsecyx pgroammr (Dyslexic Programmer - cool stuff for scaling)
Dlsecyx pgroammr (Dyslexic Programmer - cool stuff for scaling)
 
Architectural anti-patterns for data handling
Architectural anti-patterns for data handlingArchitectural anti-patterns for data handling
Architectural anti-patterns for data handling
 
Architectural anti patterns_for_data_handling
Architectural anti patterns_for_data_handlingArchitectural anti patterns_for_data_handling
Architectural anti patterns_for_data_handling
 
RestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message QueueRestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message Queue
 
NoSQL and SQL Anti Patterns
NoSQL and SQL Anti PatternsNoSQL and SQL Anti Patterns
NoSQL and SQL Anti Patterns
 
Redis
RedisRedis
Redis
 
NoSql Introduction
NoSql IntroductionNoSql Introduction
NoSql Introduction
 

Último

Último (9)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 

Como arquiteturas de dados quebram

  • 1. Como arquiteturas de dados quebram Data Engineering 101 Gleicon Moraes
  • 2. Data Engineering life ● Descobrir legados ● Administrar storage, message queue, scheduling ● Refatorar comunicação via DB para APIs ● Treinar e manter modelos ● Backfill, backfills everywhere ● Capacity planning ● Latencia
  • 3. Como arquiteturas quebram ● Por design ● Por capacidade ● Por falta de dono ● Por escolha de tecnologia
  • 6. Data gravity "As Data accumulates (builds mass), there is a greater likelihood that additional Services and Applications will be attracted to this data. (...) Data, if large enough, can be virtually impossible to move." Dave McCrory * *https://blog.mccrory.me/2010/12/07/data-gravity-in-the-clouds/
  • 12.
  • 13. O caso do cluster sem cabeça ● ScyllaDB 0.0x ● Cluster 6 nodes Multi-AZ ● 1.5 TB Raid/Node ● 3 Seeds nodes ● 4 Keyspaces ● 65% ocupado ● 35 - 50k writes/sec, picos de 150k writes/sec
  • 14. O caso do cluster sem cabeça
  • 15. O caso do cluster sem cabeça
  • 16. O caso do cluster sem cabeça
  • 17. O caso do cluster sem cabeça
  • 18. O caso do cluster sem cabeça ● 16h de manutenção (nodetool cleanup usava todos cores) ● Um cluster de Cassandra para cada keyspace ● 3 meses de migração ● De 6 para 63 nodes ● Crescimento de 7x do volume de dados. ● Take out 1: Não se empolgar com bancos de dados imaturos ● Take out 2: Não concentrar todas aplicações no mesmo data store ● Take out 3: Melhor escalar horizontalmente do que verticalmente
  • 19. Analytics ● Analytics pipeline ● Relatórios sobre longos períodos de tempo ● Volume de dados cresceu 7x em 10 meses ● Bases de dados compartilhadas ● Meio baseado em eventos, meio baseado em ETLs
  • 23. Analytics ● Sair de ETLs para streams de dados ● Não compartilhar data storages ● Não se comunicar por data storages ● Sair de consumidores baseados em Spark ● Pré calcular relatórios
  • 24. Obrigado ! ● github.com/gleicon ● medium.com/@gleicon ● twitter.com/gleicon ● gleicon@gmail.com