Combining Result Size Calculation and Query Execution for the GraphQL Query Language

Detta är en Master-uppsats från Linköpings universitet/Databas och informationsteknik

Författare: Andreas Lundquist; [2020]

Nyckelord: GraphQL; JavaScript;

Sammanfattning: GraphQL is an open source framework for creating adaptable API layers and was developed and released by Facebook in 2015. GraphQL includes both a query language and an execution engine and has quickly gained popularity among developers. However, GraphQL suffers from a problem, certain types of queries can generate huge response objects that grow exponentially in size. A recent research paper proposed a solution to this problem in the form of an algorithm that calculates the result size of a query without executing the query itself. The algorithm enables the possibility to decide if a query should be executed based on the query response size. In an implementation and evaluation of this algorithm, it was found that for simple queries, running the algorithm takes approximately the same time as executing the query, which means that the total query processing time is doubled. This thesis proposes a way to solve that problem by introducing an extended algorithm that combines the result size calculation with query execution. An implementation of the extended algorithm was evaluated and shows that it is a viable option that only has a minor impact on the total query processing time for most queries.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)