Skip navigation
Please use this identifier to cite or link to this item: https://repositorio.ufpe.br/handle/123456789/52936

Share on

Título : Comparando soluções para o problema de N+1 queries com APIs GraphQL em Ruby on Rails
Autor : SIMÕES, Igor Beltrão Pereira
Palabras clave : GraphQL; Ruby on Rails; APIs; N+1 Queries
Fecha de publicación : 2-oct-2023
Citación : SIMÕES, Igor Beltrão Pereira. Comparando soluções para o problema de N+1 queries com APIs GraphQL em Ruby on Rails. 2023. 14 f. TCC (Graduação) - Curso de Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2023.
Resumen : Atualmente, APIs (Application Programming Interface) enfrentam desafios comuns relacionados ao problema de N+1 queries, como as APIs GraphQL escritas em Ruby on Rails (Rails). Este problema pode impactar significativamente a eficiência e a performance das aplicações. No entanto, existem diversas soluções que têm sido exploradas para contornar essa questão. Dentro do ecossistema Rails, soluções nativas são frequentemente adotadas. O Active Record, um ORM (Object-Relational Mapping) utilizado pelo Rails, possui um método chamado includes. Esse método précarrega associações entre objetos, o que minimiza a quantidade de queries ao banco de dados. Além disso, algumas gems têm ganhado destaque no combate ao problema de N+1 queries em GraphQL. Gems, no contexto do Ruby, são pacotes de código que fornecem funcionalidades específicas, funcionando como bibliotecas que podem ser facilmente adicionados a projetos Ruby. Entre elas, podemos destacar a graphql-batch e a batch-loader. Ambas oferecem ferramentas poderosas para agrupar e resolver queries de maneira mais eficiente, eliminando a necessidade de múltiplas consultas individuais ao banco de dados. Ao desenvolver ou otimizar APIs GraphQL em Rails, é essencial considerar estas soluções e avaliar qual se encaixa melhor no contexto da aplicação, tendo em vista os prós e contras de cada abordagem e a necessidade de performance do sistema. Para aprofundar nossa compreensão, as soluções foram implementadas e testadas considerando métricas quantitativas, como o tempo total de execução, e qualitativas, como flexibilidade e usabilidade. Em conclusão, enquanto cada solução pode ter suas vantagens e desvantagens, a escolha ideal para abordar o problema de N+1 queries em APIs GraphQL em Rails deve levar em consideração as especificidades e necessidades de cada projeto. Neste estudo, esperamos fornecer uma base sólida para tomada de decisão para desenvolvedores e equipes que enfrentam desafios semelhantes.
URI : https://repositorio.ufpe.br/handle/123456789/52936
Aparece en las colecciones: (TCC) - Ciência da Computação

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
TCC Igor Beltrão Pereira Simões.pdf4.67 MBAdobe PDFVista previa
View/Open


This item is protected by original copyright



This item is licensed under a Creative Commons License Creative Commons