boo-box e MySQLuma história de evolução continua de um sistema de publicidadeon-line
O que fazemos ?Anúncios em blogs,sites e redes sociais
Onde fazemos ?•430 mil sites/blogs/perfis em redessociais•60 mil publishers cadastrados•60M de usuários únicos/mês•1B de a...
Como fazemos ?
O que isso gera ?•40 GB dados/dia (raw)•1.2 TB dados/mês (raw)•15 GB de informações/dia (agregado)•450 GB de informações/m...
•behavioral targeting•re-targeting•segmentation•inventory targetsO que processamos ?
Linha do Tempo022,500,00045,000,00067,500,00090,000,0002009201020112012impressões/dia
Adicionado índices para otimizar JOIN’sentre tabelasProblema no processamento de grandesvolumes de dadosDesafio 109/2009
Desafio 1Adicionado índices para otimizar JOIN’sentre tabelas09/2009
Implementação de um sistema de fila/consumidorpara inserção assíncronaCrescimento no número de inserções gerandoaumento no...
Desafio 2Implementação de um sistema de fila/consumidorpara inserção assíncrona12/2009
Aumento no enfileiramento de inserçõesDesafio 303/2010
Desafio 3Modificado ‘engine’ do servidor mestre para ‘blackhole’03/2010
Lentidão na consulta de estatísticasDesafio 407/2010
Desafio 4Propagação do resultado das ‘triggers’ para servidores slave07/2010
Lentidão na inserção de dados mysql (max 4.5K/s)Desafio 501/2011
Desafio 5Troca do sistema de arquivo para XFS (6K/s)01/2011
Lentidão para consulta de dados massivos(Big Data)Desafio 606/2011
Desafio 6Utilização de Google BigQuery e AWS EMR06/2011
•8 TB de dados agregados•32 TB em relatórios processados/mês•35 TB em dados (Raw)•22 B em fatos gerados pela redeCenário A...
Encurtador•NGINX + Lua + MySQL•Lógica do ‘shortener’ na camadaMySQL usando Stored Procedures•20K requests por segundos
boas praticas•Não permitir null no banco de dados,defina um valor default sempre quepossível•Usar banco com sql_mode menos...
MySQL + Memcached•100% compatível com memcached•Menor tempo de resposta. será ???•Gerenciamento de cache simplificado•Pers...
josafa@boo-box.combr.linkedin.com/in/josafasantosPerguntas ?douglas@boo-box.comabout.me/douglasroeder
Upcoming SlideShare
Loading in …5
×

Boo box e my sql

882 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
882
On SlideShare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Boo box e my sql

  1. 1. boo-box e MySQLuma história de evolução continua de um sistema de publicidadeon-line
  2. 2. O que fazemos ?Anúncios em blogs,sites e redes sociais
  3. 3. Onde fazemos ?•430 mil sites/blogs/perfis em redessociais•60 mil publishers cadastrados•60M de usuários únicos/mês•1B de anúncios/mês
  4. 4. Como fazemos ?
  5. 5. O que isso gera ?•40 GB dados/dia (raw)•1.2 TB dados/mês (raw)•15 GB de informações/dia (agregado)•450 GB de informações/mês (agregado)
  6. 6. •behavioral targeting•re-targeting•segmentation•inventory targetsO que processamos ?
  7. 7. Linha do Tempo022,500,00045,000,00067,500,00090,000,0002009201020112012impressões/dia
  8. 8. Adicionado índices para otimizar JOIN’sentre tabelasProblema no processamento de grandesvolumes de dadosDesafio 109/2009
  9. 9. Desafio 1Adicionado índices para otimizar JOIN’sentre tabelas09/2009
  10. 10. Implementação de um sistema de fila/consumidorpara inserção assíncronaCrescimento no número de inserções gerandoaumento no tempo de resposta nas APP’sDesafio 212/2009
  11. 11. Desafio 2Implementação de um sistema de fila/consumidorpara inserção assíncrona12/2009
  12. 12. Aumento no enfileiramento de inserçõesDesafio 303/2010
  13. 13. Desafio 3Modificado ‘engine’ do servidor mestre para ‘blackhole’03/2010
  14. 14. Lentidão na consulta de estatísticasDesafio 407/2010
  15. 15. Desafio 4Propagação do resultado das ‘triggers’ para servidores slave07/2010
  16. 16. Lentidão na inserção de dados mysql (max 4.5K/s)Desafio 501/2011
  17. 17. Desafio 5Troca do sistema de arquivo para XFS (6K/s)01/2011
  18. 18. Lentidão para consulta de dados massivos(Big Data)Desafio 606/2011
  19. 19. Desafio 6Utilização de Google BigQuery e AWS EMR06/2011
  20. 20. •8 TB de dados agregados•32 TB em relatórios processados/mês•35 TB em dados (Raw)•22 B em fatos gerados pela redeCenário Atual
  21. 21. Encurtador•NGINX + Lua + MySQL•Lógica do ‘shortener’ na camadaMySQL usando Stored Procedures•20K requests por segundos
  22. 22. boas praticas•Não permitir null no banco de dados,defina um valor default sempre quepossível•Usar banco com sql_mode menospermissivo•Cuidado com indíces (falta e excessos)
  23. 23. MySQL + Memcached•100% compatível com memcached•Menor tempo de resposta. será ???•Gerenciamento de cache simplificado•Persistência
  24. 24. josafa@boo-box.combr.linkedin.com/in/josafasantosPerguntas ?douglas@boo-box.comabout.me/douglasroeder

×