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 ...
Números de Junho/2011:• Mais   de 70 milhões de visitantes únicos (cookies distintos)• Mais   de 550 milhões de visitas• M...
• Maior   aplicação dinâmica da Globo.com• Maior   Fantasy Game da internet brasileira• Mais   de 2 milhões de usuários ca...
• Gráfico   do datacenter
O DESAFIODesenvolver uma aplicação de mural, com  capacidade para atender ao volume deacesso do Cartola, com alta performa...
PREMISSAS• Velocidade• Robustez• Escalabilidade• Perda   de mensagens não é critico• Indisponibilidade   inicial é tolerável
MYSQL   XMONGODB
MONGODB - VANTAGENS• Velocidade• Sem   necessidade de um ORM• Acesso     mais natural aos dados• Sem   schema / sem migrat...
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 PyM...
TESTES DE PERFORMANCE• 01   database server - MongoDB• 01   application server• 01   collection com 100 milhões de mensage...
//newsfeed.post - Final                                {                                  data: "Tue Jun 15 2010 9:00:00 G...
WORKING SET   Trabalhar com um working setreduzido, minimizando o impacto das         consultas ao banco
ARQUITETURA Primário             ArbitroSecundário
ARQUITETURA Primário               ArbitroSecundário     Cartola
ARQUITETURA Primário                    Primário               ArbitroSecundário                  Secundário     Cartola  ...
RESULTADOS• Deploy   feito em maio/2011• Banco   funcionando 24/7• Nenhum    incidente reportado desde a implantação•1   m...
RESULTADO
LIÇÕES APRENDIDAS• Embedding    vs Referencing• Minimizar   o tamanho dos documentos• Escolher   corretamente os data type...
OUTROS PROJETOS
RECEITAS.COM
CATALOGO DE VÍDEOS
PARTICIPAÇÕES
PERGUNTAS?
OBRIGADO! :)      twitter: @cyberelfoemail: franklin@corp.globo.com
MongoDB @ Globo.com
MongoDB @ Globo.com
MongoDB @ Globo.com
MongoDB @ Globo.com
MongoDB @ Globo.com
MongoDB @ Globo.com
MongoDB @ Globo.com
Upcoming SlideShare
Loading in...5
×

MongoDB @ Globo.com

6,846

Published on

Estes são os slides da apresentação sobre o uso do MongoDB no projeto Cartola FC da Globo.com. Vc pode ver o vídeo dessa apresentação no link: http://www.gonow.com.br/blog/2011/07/29/o-mongodb-aplicado-ao-cartolafc-da-globo-com/

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,846
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
70
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

MongoDB @ Globo.com

  1. 1. MONGODB @ GLOBO.COM Julho/2011
  2. 2. FRANKLIN AMORIM email: franklin@corp.globo.com twitter: @cyberelfo
  3. 3. • Provedorade serviços tecnológicos e plataformas web para as empresas Globo• Líder nos segmentos de notícias, esportes e entretenimento
  4. 4. 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
  5. 5. • 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
  6. 6. • Gráfico do datacenter
  7. 7. O DESAFIODesenvolver uma aplicação de mural, com capacidade para atender ao volume deacesso do Cartola, com alta performance e disponibilidade.
  8. 8. PREMISSAS• Velocidade• Robustez• Escalabilidade• Perda de mensagens não é critico• Indisponibilidade inicial é tolerável
  9. 9. MYSQL XMONGODB
  10. 10. 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
  11. 11. VISÃO SIMPLIFICADA Nginx/Tornado MongoDB
  12. 12. VISÃO SIMPLIFICADA Nginx/Tornado MongoDB
  13. 13. VISÃO SIMPLIFICADA Nginx/Tornado MongoDB
  14. 14. VISÃO SIMPLIFICADA Nginx/Tornado MongoDB
  15. 15. VISÃO SIMPLIFICADA Nginx/Tornado MongoDB
  16. 16. VISÃO SIMPLIFICADA Nginx/Tornado MongoDB
  17. 17. VISÃO SIMPLIFICADA Nginx/Tornado MongoDB
  18. 18. VISÃO SIMPLIFICADA Nginx/Tornado MongoDB
  19. 19. VISÃO SIMPLIFICADA Nginx/Tornado MongoDB
  20. 20. VISÃO SIMPLIFICADA Nginx/Tornado MongoDB
  21. 21. TECNOLOGIAS• Ngnix - Webserver• Tornado - Application• Beanstalk - Fila• Memcached• AsyncMongo (ao invés do PyMongo)• MongoDB
  22. 22. 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
  23. 23. //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: {...}} } ] }
  24. 24. WORKING SET Trabalhar com um working setreduzido, minimizando o impacto das consultas ao banco
  25. 25. ARQUITETURA Primário ArbitroSecundário
  26. 26. ARQUITETURA Primário ArbitroSecundário Cartola
  27. 27. ARQUITETURA Primário Primário ArbitroSecundário Secundário Cartola Replica Set 2
  28. 28. RESULTADOS• Deploy feito em maio/2011• Banco funcionando 24/7• Nenhum incidente reportado desde a implantação•1 milhão de mensagens publicadas
  29. 29. RESULTADO
  30. 30. LIÇÕES APRENDIDAS• Embedding vs Referencing• Minimizar o tamanho dos documentos• Escolher corretamente os data types• Reduza o working set
  31. 31. OUTROS PROJETOS
  32. 32. RECEITAS.COM
  33. 33. CATALOGO DE VÍDEOS
  34. 34. PARTICIPAÇÕES
  35. 35. PERGUNTAS?
  36. 36. OBRIGADO! :) twitter: @cyberelfoemail: franklin@corp.globo.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×