SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
MONGODB @ GLOBO.COM
       Julho/2011
FRANKLIN AMORIM




 email: franklin@corp.globo.com
       twitter: @cyberelfo
• Provedorade serviços tecnológicos e plataformas web para as
 empresas Globo

• Líder   nos segmentos de notícias, esportes e entretenimento
Números de Junho/2011:

• Mais   de 70 milhões de visitantes únicos (cookies distintos)

• Mais   de 550 milhões de visitas

• Mais de 3 bilhões de pageviews, em quase 300.000 páginas
 distintas
• Maior   aplicação dinâmica da Globo.com

• Maior   Fantasy Game da internet brasileira

• Mais   de 2 milhões de usuários cadastrados

• 15   milhões de visitas em junho

• Quase    90 milhões de pageviews em junho

• Quase    30k sessões simultâneas nos picos de acesso
• Gráfico   do datacenter
O DESAFIO

Desenvolver uma aplicação de mural, com
  capacidade para atender ao volume de
acesso do Cartola, com alta performance e
             disponibilidade.
PREMISSAS

• Velocidade

• Robustez

• Escalabilidade

• Perda   de mensagens não é critico

• Indisponibilidade   inicial é tolerável
MYSQL
   X
MONGODB
MONGODB - VANTAGENS

• Velocidade

• Sem   necessidade de um ORM

• Acesso     mais natural aos dados

• Sem   schema / sem migrations (com exceções)

• Failover   automático

• Possibilidade   de escalar escritas com sharding
VISÃO SIMPLIFICADA




     Nginx/Tornado   MongoDB
VISÃO SIMPLIFICADA




     Nginx/Tornado   MongoDB
VISÃO SIMPLIFICADA




     Nginx/Tornado   MongoDB
VISÃO SIMPLIFICADA




     Nginx/Tornado   MongoDB
VISÃO SIMPLIFICADA




     Nginx/Tornado   MongoDB
VISÃO SIMPLIFICADA




     Nginx/Tornado   MongoDB
VISÃO SIMPLIFICADA




     Nginx/Tornado   MongoDB
VISÃO SIMPLIFICADA




     Nginx/Tornado   MongoDB
VISÃO SIMPLIFICADA




     Nginx/Tornado   MongoDB
VISÃO SIMPLIFICADA




     Nginx/Tornado   MongoDB
TECNOLOGIAS

• Ngnix   - Webserver

• Tornado   - Application

• Beanstalk   - Fila

• Memcached

• AsyncMongo      (ao invés do PyMongo)

• MongoDB
TESTES DE PERFORMANCE

• 01   database server - MongoDB

• 01   application server

• 01   collection com 100 milhões de mensagens

• Resultado: 300   requests/segundo

• Com    02 application + Memcached: 1.000 reqs/sec
//newsfeed.post - Final
                                {
                                  data: "Tue Jun 15 2010 9:00:00 GMT-0400"
                                  mensagem: "Minha mensagem"
//newsfeed.post - Original
                                  liga: {
{
                                    id: 1930
  id : 1223,
                                    nome: "Liga 1930"
  post_origem_id: 1123,
                                    slug: "liga-1930"
  data: "200411300746400000",
                                  }
  mensagem: "Minha mensagem",
                                  comentarios:[
  Liga: {
                                    {
    id: 1930,
                                       id: 251902,
    nome: "Liga 1930",
                                       data: "Tue Jun 16 2010 11:00:00 GMT-0400",
    slug: "liga-1930"
                                       mensagem: "Legal!",
  }
                                       time: {...}
  time: {
                                    },
    id: 1005,
                                    {
    nome: "Time 1005",
                                       id: 251903,
    slug: "time-1005",
                                       data: "Tue Jun 16 2010 14:00:00 GMT-0400",
    flashvars: {...}
                                       mensagem: "Nem tanto..."
  }
                                       time: {...}
}
                                    }
                                  ]
                                }
WORKING SET

   Trabalhar com um working set
reduzido, minimizando o impacto das
         consultas ao banco
ARQUITETURA


 Primário


             Arbitro


Secundário
ARQUITETURA


 Primário


               Arbitro


Secundário



     Cartola
ARQUITETURA


 Primário                    Primário


               Arbitro


Secundário                  Secundário



     Cartola         Replica Set 2
RESULTADOS


• Deploy   feito em maio/2011

• Banco   funcionando 24/7

• Nenhum    incidente reportado desde a implantação

•1   milhão de mensagens publicadas
RESULTADO
LIÇÕES APRENDIDAS


• Embedding    vs Referencing

• Minimizar   o tamanho dos documentos

• Escolher   corretamente os data types

• Reduza   o working set
OUTROS PROJETOS
RECEITAS.COM
CATALOGO DE VÍDEOS
PARTICIPAÇÕES
PERGUNTAS?
OBRIGADO! :)

      twitter: @cyberelfo
email: franklin@corp.globo.com

Mais conteúdo relacionado

Destaque

Manual diseno metalcon
Manual diseno metalconManual diseno metalcon
Manual diseno metalconfcoarq
 
PresentacióN Cubismo Picasso
PresentacióN Cubismo PicassoPresentacióN Cubismo Picasso
PresentacióN Cubismo PicassoPaulina Ramos
 
Processos Mentais 2 - A Percepção
Processos Mentais 2 - A PercepçãoProcessos Mentais 2 - A Percepção
Processos Mentais 2 - A PercepçãoJorge Barbosa
 
Marketing de Varejo Funcoes e tipos de varejo
Marketing de Varejo Funcoes e tipos de varejoMarketing de Varejo Funcoes e tipos de varejo
Marketing de Varejo Funcoes e tipos de varejoProfessor Sérgio Duarte
 
CONCEPTO Y CLASIFICACION DE SUTURAS Y AGUJAS
CONCEPTO Y CLASIFICACION DE SUTURAS Y AGUJASCONCEPTO Y CLASIFICACION DE SUTURAS Y AGUJAS
CONCEPTO Y CLASIFICACION DE SUTURAS Y AGUJASnatorabet
 
Ligação, permuta, mapas genéticos 2010
Ligação, permuta, mapas genéticos 2010Ligação, permuta, mapas genéticos 2010
Ligação, permuta, mapas genéticos 2010UERGS
 
Snc 2º ano - 2012
Snc   2º ano - 2012Snc   2º ano - 2012
Snc 2º ano - 2012Maria Costa
 
Curso oficial iso 27002 versão 2013 foundation
Curso oficial iso 27002   versão 2013 foundationCurso oficial iso 27002   versão 2013 foundation
Curso oficial iso 27002 versão 2013 foundationAdriano Martins Antonio
 
Usos del misoprostol adriana moncayo
Usos del misoprostol   adriana moncayoUsos del misoprostol   adriana moncayo
Usos del misoprostol adriana moncayoAdriana L. Moncayo
 
Acto administrativo Modulo II
Acto administrativo   Modulo IIActo administrativo   Modulo II
Acto administrativo Modulo IIDiplomada2010
 
Certificação ITIL e Curso ITIL Virtual
Certificação ITIL e Curso ITIL VirtualCertificação ITIL e Curso ITIL Virtual
Certificação ITIL e Curso ITIL VirtualFernando Palma
 
CABLEADO ESTRUCTURADO Y REDES
CABLEADO ESTRUCTURADO Y REDESCABLEADO ESTRUCTURADO Y REDES
CABLEADO ESTRUCTURADO Y REDESPaco Pineda
 
Ferramentas de Gerência de Projetos
Ferramentas de Gerência de ProjetosFerramentas de Gerência de Projetos
Ferramentas de Gerência de ProjetosCloves Moreira Junior
 

Destaque (20)

Manual diseno metalcon
Manual diseno metalconManual diseno metalcon
Manual diseno metalcon
 
PresentacióN Cubismo Picasso
PresentacióN Cubismo PicassoPresentacióN Cubismo Picasso
PresentacióN Cubismo Picasso
 
Ser Criança
Ser CriançaSer Criança
Ser Criança
 
Processos Mentais 2 - A Percepção
Processos Mentais 2 - A PercepçãoProcessos Mentais 2 - A Percepção
Processos Mentais 2 - A Percepção
 
Curso Java Inacap
Curso Java InacapCurso Java Inacap
Curso Java Inacap
 
Marketing de Varejo Funcoes e tipos de varejo
Marketing de Varejo Funcoes e tipos de varejoMarketing de Varejo Funcoes e tipos de varejo
Marketing de Varejo Funcoes e tipos de varejo
 
CONCEPTO Y CLASIFICACION DE SUTURAS Y AGUJAS
CONCEPTO Y CLASIFICACION DE SUTURAS Y AGUJASCONCEPTO Y CLASIFICACION DE SUTURAS Y AGUJAS
CONCEPTO Y CLASIFICACION DE SUTURAS Y AGUJAS
 
SCM-Fachtagung Krisenkommunikation
SCM-Fachtagung KrisenkommunikationSCM-Fachtagung Krisenkommunikation
SCM-Fachtagung Krisenkommunikation
 
Ligação, permuta, mapas genéticos 2010
Ligação, permuta, mapas genéticos 2010Ligação, permuta, mapas genéticos 2010
Ligação, permuta, mapas genéticos 2010
 
Snc 2º ano - 2012
Snc   2º ano - 2012Snc   2º ano - 2012
Snc 2º ano - 2012
 
Plano de Negócios Hinode 2014
Plano de Negócios Hinode 2014Plano de Negócios Hinode 2014
Plano de Negócios Hinode 2014
 
Curso oficial iso 27002 versão 2013 foundation
Curso oficial iso 27002   versão 2013 foundationCurso oficial iso 27002   versão 2013 foundation
Curso oficial iso 27002 versão 2013 foundation
 
Usos del misoprostol adriana moncayo
Usos del misoprostol   adriana moncayoUsos del misoprostol   adriana moncayo
Usos del misoprostol adriana moncayo
 
Acto administrativo Modulo II
Acto administrativo   Modulo IIActo administrativo   Modulo II
Acto administrativo Modulo II
 
Certificação ITIL e Curso ITIL Virtual
Certificação ITIL e Curso ITIL VirtualCertificação ITIL e Curso ITIL Virtual
Certificação ITIL e Curso ITIL Virtual
 
Marketing na Igreja
Marketing na IgrejaMarketing na Igreja
Marketing na Igreja
 
CABLEADO ESTRUCTURADO Y REDES
CABLEADO ESTRUCTURADO Y REDESCABLEADO ESTRUCTURADO Y REDES
CABLEADO ESTRUCTURADO Y REDES
 
VisãO Geral da Filosofia
VisãO Geral da FilosofiaVisãO Geral da Filosofia
VisãO Geral da Filosofia
 
Ferramentas de Gerência de Projetos
Ferramentas de Gerência de ProjetosFerramentas de Gerência de Projetos
Ferramentas de Gerência de Projetos
 
Hebreus, FeníCios E Persas 1
Hebreus, FeníCios E Persas 1Hebreus, FeníCios E Persas 1
Hebreus, FeníCios E Persas 1
 

MongoDB na Globo.com: Caso de Sucesso do Cartola Fantasy