LinGBM: A Performance Benchmark for Approaches to Build GraphQL Servers (Extended Version)

  title={LinGBM: A Performance Benchmark for Approaches to Build GraphQL Servers (Extended Version)},
  author={Sijin Cheng and Olaf Hartig},
GraphQL is a popular new approach to build Web APIs that enable clients to retrieve exactly the data they need. Given the growing number of tools and techniques for building GraphQL servers, there is an increasing need for comparing how particular approaches or techniques affect the performance of a GraphQL server. To this end, we present LinGBM, a GraphQL performance benchmark to experimentally study the performance achieved by various approaches for creating a GraphQL server. In this article… 



Migrating to GraphQL: A Practical Assessment

It is shown that GraphQL can reduce the size of the JSON documents returned by REST APIs in 94% (in number of fields) and in 99% ( in number of bytes), both median results.

Evaluating execution strategies of GraphQL queries

This work evaluates the effectiveness of different execution strategies of GraphQL queries when dealing with the N+1 problem and shows that the selection of execution strategies has a significant influence on performance.

REST vs GraphQL: A Controlled Experiment

This paper describes a controlled experiment with 22 students, who were asked to implement eight queries for accessing a web service, using GraphQL and REST, and shows that GraphQL requires less effort to implement remote service queries when compared to REST.

An Empirical Study of GraphQL Schemas

It is reported that a majority of GraphQL APIs are susceptible to denial of service through complex queries, posing real security risks previously discussed only in theory.

Defining Schemas for Property Graphs by using the GraphQL Schema Definition Language

This paper proposes an approach to adopt the GraphQL SDL for Property Graph schemas, and defines this approach formally and shows its fundamental properties.

An Empirical Analysis of GraphQL API Schemas in Open Code Repositories and Package Registries

A method to extract schemas from open source repositories from GitHub and used three sources to identify GraphQL repositories and conduct an empirical analysis of the schemas is established to establish a method to Extract schemas into a single collection for analyses.

IDEBench: A Benchmark for Interactive Data Exploration

A new benchmark called IDEBench is presented, designed to evaluate database engines based on common IDE workflows and metrics that matter to the end-user, and demonstrates the applicability of IDEBench through a number of experiments with five different database engines.

Semantics and Complexity of GraphQL

This work proves that the complexity of the GraphQL evaluation problem is NL-complete, and shows that the enumeration problem can be solved with constant delay, and results on polynomial-time size computation plus the constant-delay enumeration can help developers to provide more robust GraphQL interfaces on the Web.

Diversified Stress Testing of RDF Data Management Systems

This work performs an in-depth experimental analysis that shows existing SPARQL benchmarks are not suitable for testing systems for diverse queries and varied workloads and provides stress testing tools for RDF data management systems, and uses the Waterloo SParQL Diversity Test Suite (WatDiv) to address these shortcomings.

Beyond Macrobenchmarks: Microbenchmark-based Graph Database Evaluation

A novel microbenchmarking framework is introduced that provides insights on graph database systems performance that go beyond what macro-benchmarks can offer, and includes the largest set of queries and operators so far considered.