SLO/Wikibase GraphQL
Status: draft
Organizational
Service
Wikibase GraphQL is a GraphQL API for Wikidata. It is a flexible alternative to a few simple Wikidata Query Service (WDQS) use cases, with a strong focus on developer experience, flexibility, and efficient data retrieval.
Teams
The Wikibase Reuse Team is responsible for the development and maintenance of the Wikidata GraphQL service.
Architectural
Environmental dependencies
Wikibase GraphQL is part of the Wikibase extension, implemented as a Wikibase Action API module (wbgraphql) and hosted on www.wikidata.org.
Service dependencies
Wikibase GraphQL implements data lookup, retrieval and search functionality that depend on MariaDB and Search.
Client-facing
Clients
Wikidata GraphQL clients are users who submit queries through Wikidata's wbgraphql Action API endpoint. These are humans developing and experimenting with Wikidata's Wikidata:Data access methods, as well as automated bots, gadgets and third party applications.
Service Level Indicators (SLIs)
Wikidata's GraphQL service level indicators are identical to those of Wikidata itself, specifically Wikidata's search functionality. As long as Wikidata with its underlying MariaDB and ElasticSearch services are available, the GraphQL service will be operational, as well.
Operational
Monitoring
Usage, performance and success metrics for the Wikidata GraphQL service have been defined by the Wikibase Reuse team and are visible on a dedicated Grafana dashboard.
Troubleshooting
Troubleshooting will largely be covered by well established processes for Wikidata and the underlying services it depends on (MariaDB, Search).
Deployment
Changes to the GraphQL service will be deployed via the regular deployment train for Wikidata (Group1).
Service Level Objectives
The GraphQL API realistically aims for 90% success rate and in ideal cases for 95-99%. Currently it is sticking to the realistic targets because the metrics have only been added in the last several months and will be iterate once there's enough data collected