Your SlideShare is downloading. ×
0
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Alto desempenho e escalabilidade em aplicações web utilizando banco de dados não-relacional e programação orientada a eventos na camada server-side com Node.JS

1,072

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
1,072
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Faculdade de Ciências e Tecnologia – FCT UNESPDepartamento de Matemática e Computação – DMCBachelado em Ciência da ComputaçãoAlto desempenho e escalabilidade em aplicaçõesweb utilizando banco de dados não-relacional eprogramação orientada a eventos na camadaserver-side com Node.JSVagner José Santanasegunda-feira, 29 de abril de 13
  • 2. • Introdução• Problemática• Justificativa• Escalabilidade• Bancos de dados não-relacionais• Node.JS• ObjetivosAgendasegunda-feira, 29 de abril de 13
  • 3. IntroduçãoUso da internet em constante crescimentosegunda-feira, 29 de abril de 13
  • 4. Como suportar a grande quantidade deacesos ?• Estrutura Física• Alta quantidade de servidores• Planejamento de estrutura (Scale Up / ScaleOut)• Alto Custosegunda-feira, 29 de abril de 13
  • 5. ProblemáticaGrandes aplicações web precisam manter-seestáveis e apresentar bom desempenho mesmo comalta quantidade de acessos simultâneos.Empresas responsáveis por grandes aplicaçõesprecisam economizar custos com estruturas deservidores.Como unir os dois pontos ?segunda-feira, 29 de abril de 13
  • 6. JustificativaUnindo tecnologias não tradicionais como as queserão abordadas neste projeto, podemos criar ummodelo de aplicação escalável, explorando o máximoda plataforma escolhida.A programação orientada a eventos auxilia o ganhode performance pois evita o bloqueio, comum emaplicações tradicionais que utilizam threads parasuportar requisições simultâneas.segunda-feira, 29 de abril de 13
  • 7. Assim, temos como objetivo criar umaaplicação que em comparação com os modelostradicionais, tenha performance muito superior, ecusto inferior para criar a estrutura escalável.segunda-feira, 29 de abril de 13
  • 8. Escalabilidade“Na Engenharia de Software e Telecomunicações, é acapacidade de um sistema ou hardware manter-seestável enquanto uma grande quantidade de usuáriosou processamento aumenta significativamente.”segunda-feira, 29 de abril de 13
  • 9. Bancos de dados não-relacionais• Muitas operações de entrada e saída• Banco de dados são responsáveis pelo “gargalo”em uma aplicação• Bancos de dados relacionais apresentamdificuldades em lidar com grande volume dedadossegunda-feira, 29 de abril de 13
  • 10. MongoDB• Alta performance• Orientado a documentos• Altamente escalável• Escalabilidade horizontal• Map Reducesegunda-feira, 29 de abril de 13
  • 11. Node.JS• Aplicação server-side• Programação orientada a eventos• I/O não bloqueante (assíncrono)• Engine JavaScript Google V8• Custo de operações I/O na rede é muito altosegunda-feira, 29 de abril de 13
  • 12. Comparativo simples• Nível de concorrência: 20 mil• Total de requisições: 1.000.000• Tempo Node.JS: 1043.076 seg.• Tempo Apache: 3570.753 seg.Hello WorldFonte: http://zgadzaj.com/benchmarking-nodejs-basic-performance-tests-against-apache-phpsegunda-feira, 29 de abril de 13
  • 13. Objetivos• Desenvolvimento de um modelo de aplicaçãoaltamente escalável• Busca por alta performance• Implementado operações real timesegunda-feira, 29 de abril de 13
  • 14. Objetivos Específicos• Estudo e desenvolvimento de algoritmos paraoperações de entrada e saída utilizando oparadigma de orientação a eventos• Comparativos entre aplicação com banco dedados relacionais e não-relacionais• Testes de carga e simulação de alto número deacessos simultâneossegunda-feira, 29 de abril de 13
  • 15. Referências• M. Wilson, “Contruindo aplicações Node com MongoDB e Backbone”, (O’Reilly), 2013, ISBN978010449-33739-1• S. Tikov, S. Vinoski, “Node.js: Using Javascript to Build Gugh Performance Network Programs ”. InternetComputing, IEEE ,2010.André B. Bondi, “Characteristics of scalability and their impact on performance”, Proceedings of the 2ndinternational workshop on Software and performance, Ottawa, Ontário, Canadá, 2000, ISBN1-58113-195-X.• Felix V. Leitner, “Scalable Network Programming”, http://bulk.fefe.de/scalable- networking.pdf, 2003,acessado em março de 2013.• Ricardo W. Brito, “Bancos de Dados NoSQL x SGBDs Relacionais:Análise Comparativa”, http://www.infobrasil.inf.br/userfiles/27-05-S4-1-68840- Bancos%20de%20Dados%20NoSQL.pdf, 2012,acessado em abril de 2013segunda-feira, 29 de abril de 13

×