Apresentação - Herrera, R.P. - SBSI 2012
-
Upload
rafael-de-paula-herrera -
Category
Documents
-
view
740 -
download
1
description
Transcript of Apresentação - Herrera, R.P. - SBSI 2012
![Page 1: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/1.jpg)
A Distributed, Multi-Staged, High-ThroughputMiddleware for Relational Databases
Rafael de Paula HerreraProf. Dr. Alan Salvany Felinto
São Paulo, 18 de Maio de 2012VIII Simpósio Brasileiro de Sistemas de Informação (SBSI 2012)
![Page 2: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/2.jpg)
Introdução
● Indústria automotiva de base tecnológica– Monitoramento de veículos em tempo-real
– Logística
● Tendência Principal– Migração para Cloud Computing
● Desafios e Riscos– Sistemas Back-End Legados
– Em produção durante anos
– Aumento de operações, frota e base de usuários
![Page 3: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/3.jpg)
Introdução
● Escalabilidade horizontal comprometida– Dificuldades encontradas
● Alta dependência do RDBMS● Modelo completamente thread-cêntrico● Overhead na leitura/escrita de informações● Estruturas de dados Statefull● Informações centralizadas● Infra-estrutura suscetível a falhas
– Solução proposta● Middleware distribuído● Sobrevida aos sistemas legados● Migração sustentável para novo modelo
![Page 4: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/4.jpg)
Introdução
● O Middleware como agente facilitador de mudanças
![Page 5: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/5.jpg)
Trabalhos Relacionados
● Fail-over de aplicações em tempo-real [Rubel et al. 2006]
● Falhas de BD em aplicações multi-estágios [Barga et al. 2002]
● Serviços back-end interconectados por filas [Urgaonkar et al. 2005]
● Multiplos estágios conectados por filas [Welsh et al. 2001]
● Múltiplos middlewares de cache com BD [Luo et al. 2002]
● Replicação de dados e performance [Cecchet et al. 2007]
![Page 6: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/6.jpg)
Arquitetura
● Middleware reage à presença de dados● Estruturas de dados distribuídas de E/S● Dados replicados ao longo de múltiplos nós● Framework Hazelcast© para Grid● Framework Google© Guice para DI● Design Pattern Inversão de Controle via DI
– DDS substituíveis (baixo nível de acoplamento)
– BlockingQueue (E) / ConcurrentMap (S)
![Page 7: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/7.jpg)
Arquitetura
● Fail-over mínimo com lista-circular de nós– Dados particionados
● Cada nó responde ativamente por sua porção de dados
– Backup automático● [...]● Nó atual faz backup da parte ativa do nó anterior● Próximo nó faz backup da parte ativa do nó atual● [...]
● API Cliente transparente para acesso de DDS– Causa o mínimo impacto nos sistemas legados
– Principais interfaces são mantidas: ResultSet
![Page 8: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/8.jpg)
Arquitetura
● Múltiplos estágios de processamento
![Page 9: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/9.jpg)
Arquitetura
● Nós do Grid
![Page 10: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/10.jpg)
Arquitetura
● Cliente do Grid (API)– Requisita operações
– Recupera resultado de processamento
● Comportamentos implementados– Espera bloqueante
– Espera não-bloqueante
– Espera bloqueante guiada por timeout
– Espera bloqueante guiada por timeout e número de tentativas
![Page 11: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/11.jpg)
Arquitetura
● Requests Queue x Responses Map
![Page 12: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/12.jpg)
Arquitetura
● Requests x SQL Statement x Response x Communication Key
![Page 13: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/13.jpg)
Arquitetura
● Mapeamento
![Page 14: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/14.jpg)
Arquitetura
● Proxy
![Page 15: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/15.jpg)
Arquitetura
● Commiter
![Page 16: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/16.jpg)
Arquitetura
● DB Pool (Apache DBCP)
![Page 17: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/17.jpg)
Resultados
● Proporção de operações SQL conhecidas no sistema
– Experimentos de tempo de bloqueio sobre Updates
– Updates responsáveis por 72.11% das operações
![Page 18: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/18.jpg)
Resultados
● Benchmark comparativo com 30 amostras
● Até 100.000 Requisições procesadas
● Algoritmos tradicionais com acesso direto ao BD
– Single
– Bulk
– Batch
● Algoritmo com acesso indireto ao BD
– Intermediado por fila distribuída● Operações aleatórias
● Intel R CoreTMi3-350M (3M Cache, 2.26 GHz), 4GB DDR3 RAM, Samsung, HM321HI HD e RTL8101E/RTL8102E PCI Express Fast Ethernet controller.
![Page 19: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/19.jpg)
Resultados
![Page 20: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/20.jpg)
Resultados
![Page 21: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/21.jpg)
Conclusão
● Middleware foi capaz de auxiliar o processo de migração
– Ambiente distribuído● Escrita durável e recuperação de falhas
– Desatachadas completamente da aplicação
– Abordagem guiada a eventos
– Reativa à presença de dados nas DDS● Comportamento Statefull reduzido
– Facilita a escalabilidade horizontal
– Redução de riscos perante quedas● Primeiro estágio de migração para Cloud Computing
– Transição suave de sistemas legados
![Page 22: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/22.jpg)
Referências Bibliográficas● Barga, R., Lomet, D., and Weikum, G. (2002). Recovery guarantees for general multi-tier
applications. Data Engineering, International Conference on, 0:0543.● Bisbal, J., Lawless, D., Wu, B., and Grimson, J. (1999). Legacy information systems: Issues and
directions. IEEE Softw., 16:103–111.● Cecchet, E., Candea, G., and Ailamaki, A. (2007). Middleware-based database replication: The gaps
between theory and practice. CoRR, abs/0712.2773.● Fowler, M. (2004). Inversion of control containers and the dependency injection pattern.
http://www.martinfowler.com/articles/injection.html.● Luo, Q., Krishnamurthy, S., Mohan, C., Pirahesh, H., Woo, H., Lindsay, B. G., and Naughton, J. F.
(2002). Middle-tier database caching for e-business. In Proceedings of the 2002 ACM SIGMOD internationalconference on Management of data, SIGMOD ’02, pages 600–611, New York, NY, USA. ACM.
● Martin, R. C. (1996). The dependency inversion principle. C++ Report, 8:61–66.● Rubel, P., Loyall, J. P., Schantz, R. E., and Gillen, M. (2006). Fault tolerance in a multi-layered dre
system: A case study. JCP, 1(6):43–52.● Urgaonkar, B., Pacifici, G., Shenoy, P., Spreitzer, M., and Tantawi, A. (2005). An analytical model for
multi-tier internet services and its applications. SIGMETRICS Perform. Eval. Rev., 33:291–302.● Welsh, M., Culler, D., and Brewer, E. (2001). Seda: an architecture for well-conditioned, scalable
internet services. SIGOPS Oper. Syst. Rev., 35:230–243.● Yang, H. Y., Tempero, E., and Melton, H. (2008). An empirical study into use of dependency injection
in java. In Proceedings of the 19th Australian Conference on Software Engineering, pages 239–247, Washington, DC, USA. IEEE Computer Society.
![Page 23: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/23.jpg)
Agradecimentos
● Universidade Estadual de Londrina (UEL)
– http://uel.br
● Departamento de Computação (DC)
– http://dc.uel.br
● Veltec Soluções Tecnológicas S.A.
– http://veltec.com.br
![Page 24: Apresentação - Herrera, R.P. - SBSI 2012](https://reader034.fdocuments.in/reader034/viewer/2022042613/546cf7d5b4af9f752c8b51c8/html5/thumbnails/24.jpg)
Dúvidas?
Contato:
– Rafael de Paula Herrera
– Prof. Dr. Alan Salvany Felinto
Obrigado.