Use este identificador para citar ou linkar para este item:
https://repositorio.ufpe.br/handle/123456789/52936
Compartilhe esta página
| Título: | Comparando soluções para o problema de N+1 queries com APIs GraphQL em Ruby on Rails |
| Autor(es): | SIMÕES, Igor Beltrão Pereira |
| Palavras-chave: | GraphQL; Ruby on Rails; APIs; N+1 Queries |
| Data do documento: | 2-Out-2023 |
| Citação: | 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. |
| Abstract: | 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 nas coleções: | (TCC) - Ciência da Computação |
Arquivos associados a este item:
| Arquivo | Descrição | Tamanho | Formato | |
|---|---|---|---|---|
| TCC Igor Beltrão Pereira Simões.pdf | 4.67 MB | Adobe PDF | ![]() Visualizar/Abrir |
Este arquivo é protegido por direitos autorais |
Este item está licenciada sob uma Licença Creative Commons

