MongoDB na - TDC 2014
date post
05-Dec-2014Category
Technology
view
372download
0
Embed Size (px)
description
Case de sucesso usando MongoDB na Ingresse.com - TDC 2014
Transcript of MongoDB na - TDC 2014
- 1. Globalcode Open4education MongoDB na Ingresse.com Kelly Costa Desenvolvedora PHP e Modelagem dos Dados
- 2. Globalcode Open4education Kelly Costa Manaus - AM Desenvolvedora PHP 9 anos de experincia em projetos web Secretaria Municipal de Sade de Manaus Desenvolvimento de Software Modelagem dos dados Auxiliar a equipe de desenvolvimento e testes a maximizar o uso e desempenho do banco de dados MongoDB na Ingresse.com.
- 3. Globalcode Open4education A misso da Ingresse facilitar a compra e venda de ingressos online para qualquer tipo de evento.
- 4. Globalcode Open4education
- 5. Globalcode Open4education
- 6. Globalcode Open4education
- 7. Globalcode Open4education
- 8. Globalcode Open4education Nem todos os usurios que navegam no site https://www.ingresse.com realizam a compra naquele momento, muitos buscam informaes sobre os eventos, como data, local, valor do ingresso, exigindo um acesso rpido a grandes quantidades de dados.
- 9. Globalcode Open4education aumento exponencial no volume de dados uso extensivo de joins acesso rpido a grandes quantidades de dados
- 10. Globalcode Open4education Por que o MongoDB? formato JSON, facilidade para o programador rpida recuperao dos dados diferentes recursos de consulta, sem transaes e joins, possui estruturas mais simples os objetos esto inseridos em um nico documento. atua sem um esquema previamente definido
- 11. Globalcode Open4education O que foi fcil? Nada!
- 12. Globalcode Open4education Operaes de agregaes (Aggregation) permitem que usurios processem todos os registros de dados atravs de operaes similares aos comandos SQL count (*) e grupo by e retorna o resultado calculado. timo quando usado em consultas pontuais quando recorrentes e concorrentes, essas consultas demandam muito esforo custos na alocao de memria e desempenho.
- 13. Globalcode Open4education
- 14. Globalcode Open4education No caso da Ingresse, todas as condies utilizadas na busca de eventos so trabalhadas e armazenadas em um array. Algumas consultas utilizavam regex, o que exigia muito mais do servidor. Isso tornava a aplicao pouco flexvel e nada performtica.
- 15. Globalcode Open4education
- 16. Globalcode Open4education Visando obter maior desempenho e simplicidade na busca de eventos, optamos por eliminar o aggregation e fazer tudo via queries.
- 17. Globalcode Open4education Pra isso, fizemos uso dos ndices, zerando a necessidade de processos complementares. A consulta feita dentro do prprio ndice, possibilitando concorrncia e recorrncia sem maiores problemas, resultando em consultas mais rpidas.
- 18. Globalcode Open4education db.event.ensureIndex({'title': 'text', 'description': 'text', 'tags': 'text', 'link': 'text'}, {'default_language':'portuguese', name:"busca01"} O ndice busca01 cancelou o uso do regex.
- 19. Globalcode Open4education full text search: db.event.find({$text: {$search: "marcelo"}},{'title': true, 'description': true, 'tags': true, link: true}) .pretty() Alterado na verso 2.6: MongoDB
- 20. Globalcode Open4education A ordenao padro utilizada do evento mais prximo da data atual para o mais futuro. Pra isso criamos o ndice db.event.ensureIndex({eventDate.dateTime: 1})
- 21. Globalcode Open4education Ganho relevante na performance, saindo de 100 usurios por minuto para 2.000 usurios/minuto em testes de laboratrio Consulta mais simples. Agilidade Flexibilidade
- 22. Globalcode Open4education Shopping cart Backup Controle de verso da coleo Legado
- 23. Globalcode Open4education Perguntas?
- 24. Globalcode Open4education Email: kelly.cristina83@gmail.com GitHub: kelly.costa@ingresse.com