SIP – Sistema Integrado de Processos
Menu: TCCs de Ciência da Computação

Título: Estudo sobre o desempenho de bibliotecas em Python para mapeamento objeto-relacional

Autoria de: Tiago de Oliveira Carlos

Orientação de: Neumar Costa Malheiros

Coorientação de: Paulo Afonso Parreira Junior

Presidente da banca: Neumar Costa Malheiros

Primeiro membro da banca: Denilson Alves Pereira

Segundo membro da banca: Ramon Gomes Costa

Palavras-chaves: Python, Django, SqlAlchemy, Mapeamento Objeto-Relacional, SQL

Data da defesa: 05/12/2023

Semestre letivo da defesa: 2023-2

Data da versão final: 18/12/2023

Data da publicação: 18/12/2023

Referência: Carlos, T. d. O. Estudo sobre o desempenho de bibliotecas em Python para mapeamento objeto-relacional. 2023. 37 p. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação Bacharelado)-Universidade Federal de Lavras, Lavras, 2023.

Resumo: Desde seu surgimento, a técnica de mapeamento objeto-relacional (ORM) tem alcançado notável popularidade. Diversas bibliotecas surgiram, oferecendo diferentes implementações desta técnica, que vem se tornando um recurso padrão em grande parte dos frameworks de desenvolvimento Web. Assim, torna-se relevante uma análise da usabilidade dessa técnica, visando apresentar suas possíveis vantagens e desvantagens. Este trabalho teve como objetivo analisar o impacto da utilização dessas ferramentas no tempo de processamento de operações em bancos de dados em comparação com o acesso direto ao banco de dados. Utilizando a linguagem de programação Python, foram avaliados os tempos de execução do framework Django com sua ORM, da biblioteca SqlAlchemy junto ao framework Flask, e da biblioteca Psycopg2 para representar o acesso direto ao banco de dados, por meio de comandos SQL. Os resultados revelaram um aumento significativo no tempo de processamento ao utilizar uma ORM. O tempo extra foi justificado nas ferramentas de geração de consultas SQL e mapeamento de registros no banco de dados para objetos em Python. Foi possível concluir que, embora o aumento no tempo seja considerável, o uso de ORMs ainda é justificado, principalmente pelo desempenho apresentado por computadores e servidores modernos, e a existência de ferramentas capazes de oferecer apoio a aplicação, como sistemas de balanceamento de carga, que possibilitam o uso de diversas instâncias da mesma aplicação. Assim, é possível atingir um bom desempenho em aplicações que fazem uso de mapeadores objeto-relacional, porém sistemas de larga escala podem apresentar um custo de manutenção elevado, pois podem necessitar de um hardware mais robusto quando comparado à uma solução que utiliza do acesso direto ao banco de dados. O foco atual no desenvolvimento ágil favorece também o uso de frameworks, que permitem a criação rápida de sistemas através de entregas contínuas. Dessa forma, prioriza-se a criação de códigos de fácil leitura e manutenção, visto que o sistema está em constante evolução, e os requisitos do cliente podem variar a qualquer momento. Nesse contexto, o uso de código SQL dificulta o desenvolvimento, exigindo que a equipe apresente o conhecimento de uma linguagem extra, e apresentando consultas que necessitam ser atualizadas junto ao modelo de dados.

URI: sip.prg.ufla.br/publico/trabalhos_conclusao_curso/acessar_tcc_por_curso/
ciencia_da_computacao/20232201820272

URI alternaviva: sem URI do Repositório Institucional da UFLA até o momento.

Curso: G010 - CIÊNCIA DA COMPUTAÇÃO (BACHARELADO)

Nome da editora: Universidade Federal de Lavras

Sigla da editora: UFLA

País da editora: Brasil

Gênero textual: Trabalho de Conclusão de Curso

Nome da língua do conteúdo: Português

Código da língua do conteúdo: por

Licença de acesso: Acesso aberto

Nome da licença: Licença do Repositório Institucional da Universidade Federal de Lavras

URI da licença: repositorio.ufla.br

Termos da licença: Acesso aos termos da licença em repositorio.ufla.br

Detentores dos direitos autorais: Tiago de Oliveira Carlos e Universidade Federal de Lavras

Baixar arquivo