SlideShare uma empresa Scribd logo
Tecnologiasparasistemasdistribuídos
escaláveis

MongoDB, Redis, Hadoop, Storm
Cesar Schneider
Eworks Tecnologia
Quemsoueu
•
•
•
•
•
•
•

Inventor desde 1988
Programadordesde 1998
Analistadesde 2003
Gerente/Consultordesde 2008
“Canivetesuiço”desde 2010
“Hacker” desde 2012
Arquiteto/Designer desde 2013
O quejáaprendievivi
• C/C++, PHP, Java, Ruby, JavaScript, HTML, CSS, Action Script, Bash,
Linux.
• Trabalheiemdiferentesprojetos no Brasil, EmiradosÁrabes, Chile e
USA.
• Experiência com osmercados de gerenciamento de risco,
rastreamento de veículos, geolocalização, GIS, e-commerce,
aplicaçõesmóveis, integração de sistemas, Web Services
eadministração de servidores Linux.
• Apaixonadoporesportesradicais, músicaeletrônicaeautomobilismo.
ComputaçãoDistribuída
• É
umareferênciaàcomputaçãoparalelaedescentr
alizada,
realizadapordoisoumaiscomputadoresconecta
dosatravés de umarede,
cujoobjetivoéconcluirumatarefaemcomum.
• Umacoleção de
computadoresindependentesqueaparecempar
aousuáriocomo um únicosistema.
ComputaçãoDistribuída
SistemasEscaláveis
• Um sistemaédescritocomoescalável se
permaneceeficientequandohá um
aumentosignificativo no número de recursos
(dados) e no número de usuários
• São construídos com base
numaarquiteturadistribuídaequepermiteadiçã
o de novosnóssemque a aplicaçãonecessite
ser modificada
ArquiteturaEscalável
Tecnologiasescaláveis
• MongoDB: banco de dados
orientadoàdocumentosou“NoSQL”
• Redis: armazenamento de dados emmemória
RAM com replicaçãoem disco
• Hadoop: processamento de grandes volumes
de dados usando Map/Reduce
eoutrosalgoritmos
• Storm: processamento de dados em tempo
real através de topologiasbaseadasemgrafos
Banco de dados orientado a
documentoquepermitearmazenarestruturas de
dados com alta performance,
disponibilidade,escalabilidadeeesquemasflexívei
s.
Um banco de dados possuiváriascoleções
(tabelas). Umacoleçãopossuiváriosdocumentos
(registro). Um documentopossuivários pares
chave/valor.
• Flexibilidade: dados armazenados no formato
JSON
• Velocidade:
consultassãomaisrápidasporquenãoexistem
“joins”
• Escalabilidade: capacidade de cargapode ser
aumentadafacilmenteusando“shards”
• Recursos: indices geoespaciais, queries
dinâmicas, ordenação, agregação, replicação
{

name: “Cesar Schneider”,
email: “cesar@eworks.com.br”,
age: 34,
skills: *“C”, “PHP”, “Java”+,
availableForConsulting: true
}
Relacional

Documento

Escalonamento

Possívelporémcomplexode
vido a arquitetura

Principalvantagemporter
um
arquiteturaflexívelesemesq
uemadefinido

Consistência

Ponto forte.
Estruturarígidagarante a
consistência dos dados

Eventual,
masgaranteacessoaoúltimo
valor atualizado

Disponibilidade

Podenãosuportarumagrand Fator
edemanda de dados
fundamental.Algograu de
distribuiçãopermitemaiorn
úmero de consultas
Servidor de estruturasda dados complexas,
armazenadasemmemória RAM, quepermitem a
execução de operaçõescomplexasemanipulação
de dados com baixalatência.
Possibilita a execução de
operaçõesatômicascomoconcatenar strings,
incrementarcontadores, ordenarlistas,
computarinterseções, uniõesediferenças.
•
•
•
•
•
•

Twitter
Instagram
Digg
Stack Overflow
Flickr
Mercado Livre
Data types
•
•
•
•
•

Strings (“string”)
Lists (“a”, “a”, “b”, “b”, ”c”, ”c”)
Sets (“a”, ”b”, “c”)
Hashes (“username cesar password 12345”)
Sorted sets (cadaelementopossui um score)
$ redis-cli set mykey "my binary safe value"
OK
$ redis-cli get mykey
my binary safe value
$ redis-cli set counter 100
OK
$ redis-cliincr counter
(integer) 101
$ redis-cliincr counter
(integer) 102
Use cases
•
•
•
•
•
•

Auto complete
Message queue
Publish/subscribe
Notification center
Sorting/Ranking
Timeline
É framework mantidopela Apache Foundation
quepermiteprocessamentode grandes volumes de
dados distribuídosem um cluster
quepodeconteralgumasdezenasoumilhares de nós,
ondecadanósexecutaearmazena dados de localmente.
Aoinvés de utilizarhardwarescarose com
altadisponibilidade, épossívelmontar um cluster
Hadoop com qualquertipo de
máquinaporquefoidesenhado com estafinalidade.
•
•
•
•

Hadoop Common
Hadoop Distributed File System (HDFS)
Hadoop YARN (job scheduling and cluster resource management)
HadoopMapReduce (YARN based parallel data processing)

•
•
•
•
•
•
•
•

Ambari (web-based monitoring, management and provisioning)
AVRO (data serialization system)
Cassandra (multi-master database sem SPF)
Hbase (distributed database for structured data and big tables)
Hive (datawarehouse infrastructure for data summarization)
Pig (data-flow language and execution framework)
Mahout (machine learning e data mining)
Zookeeper (serviço de coordenaçãoparaaplicaçõesdistribuídas)
•
•
•
•

Indexação de busca de produtos (Amazon)
Sistema de recomendação (Netflix)
Analise de logs erelatóriosanalíticos (Facebook)
Analise de metadados de arquivos de audio
(last.fm)
• Pessoasquetalvezvocêconheça (LinkedIn)
• Previsão de resultados (Obama)
Storm
Sistemadistribuído de processamento de dados
em tempo real a partir de “streams” de dados.
Umatopologia Storm consume “streams” de
dados
realizandoprocessamentoscomplexosdestasinfor
mações, reparticionandoestes dados
emdiversarfases de processamento de acordo
com a necessidade do resultado final.
Storm Use Cases
•
•
•
•
•
•

Twitter
Groupon
Rubicon Project
Full Contact
Alibaba
Mercado Livre
Storm Architecture
Storm Concepts
• Topologies (grafos de transformações de
dados compostopornósquepodem ser
“spouts” ou “bolts”)
• Streams (compostosporfontes de dados
eprocessadores de dados)
• Data Models (definição dos camposetipos de
dados do resultado final)
Storm Topology
Storm Topology
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("sentences", new RandomSentenceSpout(), 5);
builder.setBolt("split", new SplitSentence(), 8)
.shuffleGrouping("sentences");
builder.setBolt("count", new WordCount(), 12)
.fieldsGrouping("split", new Fields("word"));
That’s all, folks!

Mais conteúdo relacionado

Semelhante a Tecnologias para sistemas distribuidos escalaveis

Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Alessandro Binhara
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
Wendreo L. Fernandes
 
Keynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsKeynote nuvem estaleiro_ics
Keynote nuvem estaleiro_ics
Horacio Ibrahim
 
BIG DATA na UFSM
BIG DATA na UFSMBIG DATA na UFSM
BIG DATA na UFSM
Luciano Vargas
 
DeskMetrics - Arquitetura, Python e NoSQL
DeskMetrics - Arquitetura, Python e NoSQLDeskMetrics - Arquitetura, Python e NoSQL
DeskMetrics - Arquitetura, Python e NoSQL
Herberth Amaral
 
Terraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSTerraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWS
Leandro Freitas
 
Tornando se um DevOps sem perder a cabeça #SE7I2016
Tornando se um DevOps sem perder a cabeça #SE7I2016Tornando se um DevOps sem perder a cabeça #SE7I2016
Tornando se um DevOps sem perder a cabeça #SE7I2016
Camilla Gomes
 
AWS - Conceitos, Segurança e Demonstração
AWS - Conceitos, Segurança e DemonstraçãoAWS - Conceitos, Segurança e Demonstração
AWS - Conceitos, Segurança e Demonstração
Maurício Harley
 
Pres clusterpdf
Pres clusterpdfPres clusterpdf
Pres clusterpdf
Roberto Nou
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
Marcus Vinicius Miguel Pedro
 
Allen apresentação365 & azure
Allen apresentação365 & azureAllen apresentação365 & azure
Allen apresentação365 & azure
Allen Informática
 
Introdução ao Apache Hadoop
Introdução ao Apache HadoopIntrodução ao Apache Hadoop
Introdução ao Apache Hadoop
Vinícius Barros
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
Caio Candido
 
OS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATAOS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATA
Leonardo Dias
 
Java Nuvem Appengine
Java Nuvem AppengineJava Nuvem Appengine
Java Nuvem Appengine
Mario Jorge Pereira
 
Arquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceArquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open source
Felipe RENZ - MBA TI / Big
 
Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre
Ambiente Livre
 
Microsserviço, Escalabilidade e Resiliência - #comofas?
Microsserviço, Escalabilidade e Resiliência - #comofas?Microsserviço, Escalabilidade e Resiliência - #comofas?
Microsserviço, Escalabilidade e Resiliência - #comofas?
Mario Guedes
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
Fabrício Lopes Sanchez
 
Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014
Thiago Santiago
 

Semelhante a Tecnologias para sistemas distribuidos escalaveis (20)

Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
Keynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsKeynote nuvem estaleiro_ics
Keynote nuvem estaleiro_ics
 
BIG DATA na UFSM
BIG DATA na UFSMBIG DATA na UFSM
BIG DATA na UFSM
 
DeskMetrics - Arquitetura, Python e NoSQL
DeskMetrics - Arquitetura, Python e NoSQLDeskMetrics - Arquitetura, Python e NoSQL
DeskMetrics - Arquitetura, Python e NoSQL
 
Terraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSTerraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWS
 
Tornando se um DevOps sem perder a cabeça #SE7I2016
Tornando se um DevOps sem perder a cabeça #SE7I2016Tornando se um DevOps sem perder a cabeça #SE7I2016
Tornando se um DevOps sem perder a cabeça #SE7I2016
 
AWS - Conceitos, Segurança e Demonstração
AWS - Conceitos, Segurança e DemonstraçãoAWS - Conceitos, Segurança e Demonstração
AWS - Conceitos, Segurança e Demonstração
 
Pres clusterpdf
Pres clusterpdfPres clusterpdf
Pres clusterpdf
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
 
Allen apresentação365 & azure
Allen apresentação365 & azureAllen apresentação365 & azure
Allen apresentação365 & azure
 
Introdução ao Apache Hadoop
Introdução ao Apache HadoopIntrodução ao Apache Hadoop
Introdução ao Apache Hadoop
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
 
OS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATAOS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATA
 
Java Nuvem Appengine
Java Nuvem AppengineJava Nuvem Appengine
Java Nuvem Appengine
 
Arquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceArquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open source
 
Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre
 
Microsserviço, Escalabilidade e Resiliência - #comofas?
Microsserviço, Escalabilidade e Resiliência - #comofas?Microsserviço, Escalabilidade e Resiliência - #comofas?
Microsserviço, Escalabilidade e Resiliência - #comofas?
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
 
Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014
 

Último

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
Jonathas Muniz
 

Último (6)

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
 

Tecnologias para sistemas distribuidos escalaveis