Using GraphQL with graph databases

Bibliographic Details
Main Author: Barbosa, Tiago Filipe Nascimento
Publication Date: 2024
Format: Master thesis
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/10400.22/26882
Summary: Graph databases and GraphQL query language have seen increasing adoption across various industries in recent years. There is a potential synergy arising from integrating GraphQL with graph databases, raising the need to evaluate and compare this collaboration in contrast to integrating GraphQL with relational databases, especially in terms of performance and maintainability. This document explores the synergies between GraphQL and graph databases, delving into their integration, challenges, and prospects. The initial chapters establish the contextual landscape, addressing the problem, objectives, research methodology, ethical considerations, and structural organization of the study. Next, there’s an introduction to the concepts of GraphQL and graph databases, dissecting their fundamental structures, querying mechanisms, data organization, and ideal usage scenarios. This foundational understanding sets the stage for a detailed investigation into their integration, as outlined in the state-of-the-art chapter. Within this chapter, a systematic literature review is conducted where the research questions guiding the exploration of integration strategies and considerations are elucidated. The discussion encompasses primary use cases driving the adoption of GraphQL in conjunction with graph databases, the selection of suitable technologies for seamless integration, and the elucidation of key challenges impeding their widespread adoption and successful implementation. In the analysis and design phase, a project for migration is selected, using the Analytic Hierarchy Process (AHP), characterized, and architecturally explained. The migration process is then elaborated, including data modeling transformation and the technologies and approaches used. The implementation chapter describes the migration changes, with specific attention to domain classes and custom resolvers, authentication and authorization, and adjustments to the initial project. Next, the experimentation and evaluation of the solutions is achieved following the Goal, Questions, Metrics (GQM) approach, focusing on evaluating the performance and maintainability of each solution. The results are analyzed, concluding that the solution using a graph database is superior in terms of maintainability and, in some cases, in terms of performance too. With a higher number of concurrent users, the graph database solution presented better results overall. The relational database solution outperformed when using a small to medium number of users. If the queries and domain do not require deep nesting relationships, then the relational database seems more desirable, in terms of performance. Finally, the dissertation concludes with a summary of achievements, an outline of difficulties encountered, an assessment of threats to validity, and suggestions for future work.
id RCAP_ef954a650a1326c59751b0eaf48a70bf
oai_identifier_str oai:recipp.ipp.pt:10400.22/26882
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Using GraphQL with graph databasesUsando GraphQL com base de dados em grafoGraphQLGraph databaseNeo4jRelational databaseBase de dados em grafoBase de dados relacionalGraph databases and GraphQL query language have seen increasing adoption across various industries in recent years. There is a potential synergy arising from integrating GraphQL with graph databases, raising the need to evaluate and compare this collaboration in contrast to integrating GraphQL with relational databases, especially in terms of performance and maintainability. This document explores the synergies between GraphQL and graph databases, delving into their integration, challenges, and prospects. The initial chapters establish the contextual landscape, addressing the problem, objectives, research methodology, ethical considerations, and structural organization of the study. Next, there’s an introduction to the concepts of GraphQL and graph databases, dissecting their fundamental structures, querying mechanisms, data organization, and ideal usage scenarios. This foundational understanding sets the stage for a detailed investigation into their integration, as outlined in the state-of-the-art chapter. Within this chapter, a systematic literature review is conducted where the research questions guiding the exploration of integration strategies and considerations are elucidated. The discussion encompasses primary use cases driving the adoption of GraphQL in conjunction with graph databases, the selection of suitable technologies for seamless integration, and the elucidation of key challenges impeding their widespread adoption and successful implementation. In the analysis and design phase, a project for migration is selected, using the Analytic Hierarchy Process (AHP), characterized, and architecturally explained. The migration process is then elaborated, including data modeling transformation and the technologies and approaches used. The implementation chapter describes the migration changes, with specific attention to domain classes and custom resolvers, authentication and authorization, and adjustments to the initial project. Next, the experimentation and evaluation of the solutions is achieved following the Goal, Questions, Metrics (GQM) approach, focusing on evaluating the performance and maintainability of each solution. The results are analyzed, concluding that the solution using a graph database is superior in terms of maintainability and, in some cases, in terms of performance too. With a higher number of concurrent users, the graph database solution presented better results overall. The relational database solution outperformed when using a small to medium number of users. If the queries and domain do not require deep nesting relationships, then the relational database seems more desirable, in terms of performance. Finally, the dissertation concludes with a summary of achievements, an outline of difficulties encountered, an assessment of threats to validity, and suggestions for future work.Azevedo, Isabel de Fátima SilvaREPOSITÓRIO P.PORTOBarbosa, Tiago Filipe Nascimento2024-12-17T09:11:49Z2024-07-292024-07-29T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.22/26882urn:tid:203734246enginfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-03-07T10:01:49Zoai:recipp.ipp.pt:10400.22/26882Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T00:26:54.622182Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Using GraphQL with graph databases
Usando GraphQL com base de dados em grafo
title Using GraphQL with graph databases
spellingShingle Using GraphQL with graph databases
Barbosa, Tiago Filipe Nascimento
GraphQL
Graph database
Neo4j
Relational database
Base de dados em grafo
Base de dados relacional
title_short Using GraphQL with graph databases
title_full Using GraphQL with graph databases
title_fullStr Using GraphQL with graph databases
title_full_unstemmed Using GraphQL with graph databases
title_sort Using GraphQL with graph databases
author Barbosa, Tiago Filipe Nascimento
author_facet Barbosa, Tiago Filipe Nascimento
author_role author
dc.contributor.none.fl_str_mv Azevedo, Isabel de Fátima Silva
REPOSITÓRIO P.PORTO
dc.contributor.author.fl_str_mv Barbosa, Tiago Filipe Nascimento
dc.subject.por.fl_str_mv GraphQL
Graph database
Neo4j
Relational database
Base de dados em grafo
Base de dados relacional
topic GraphQL
Graph database
Neo4j
Relational database
Base de dados em grafo
Base de dados relacional
description Graph databases and GraphQL query language have seen increasing adoption across various industries in recent years. There is a potential synergy arising from integrating GraphQL with graph databases, raising the need to evaluate and compare this collaboration in contrast to integrating GraphQL with relational databases, especially in terms of performance and maintainability. This document explores the synergies between GraphQL and graph databases, delving into their integration, challenges, and prospects. The initial chapters establish the contextual landscape, addressing the problem, objectives, research methodology, ethical considerations, and structural organization of the study. Next, there’s an introduction to the concepts of GraphQL and graph databases, dissecting their fundamental structures, querying mechanisms, data organization, and ideal usage scenarios. This foundational understanding sets the stage for a detailed investigation into their integration, as outlined in the state-of-the-art chapter. Within this chapter, a systematic literature review is conducted where the research questions guiding the exploration of integration strategies and considerations are elucidated. The discussion encompasses primary use cases driving the adoption of GraphQL in conjunction with graph databases, the selection of suitable technologies for seamless integration, and the elucidation of key challenges impeding their widespread adoption and successful implementation. In the analysis and design phase, a project for migration is selected, using the Analytic Hierarchy Process (AHP), characterized, and architecturally explained. The migration process is then elaborated, including data modeling transformation and the technologies and approaches used. The implementation chapter describes the migration changes, with specific attention to domain classes and custom resolvers, authentication and authorization, and adjustments to the initial project. Next, the experimentation and evaluation of the solutions is achieved following the Goal, Questions, Metrics (GQM) approach, focusing on evaluating the performance and maintainability of each solution. The results are analyzed, concluding that the solution using a graph database is superior in terms of maintainability and, in some cases, in terms of performance too. With a higher number of concurrent users, the graph database solution presented better results overall. The relational database solution outperformed when using a small to medium number of users. If the queries and domain do not require deep nesting relationships, then the relational database seems more desirable, in terms of performance. Finally, the dissertation concludes with a summary of achievements, an outline of difficulties encountered, an assessment of threats to validity, and suggestions for future work.
publishDate 2024
dc.date.none.fl_str_mv 2024-12-17T09:11:49Z
2024-07-29
2024-07-29T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10400.22/26882
urn:tid:203734246
url http://hdl.handle.net/10400.22/26882
identifier_str_mv urn:tid:203734246
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833600538299596800