Based on the discussions in T290839 I suggest we evaluate whether QLever can offload the query-pressure on BlazeGraph to some degree as a second option for users.
The hypothesis is that most users do not really NEED real-time or near-real-time data when querying WDQS.
Benefits:
- By offering QLever as an alternative the WMF can offer users a lot of query results that is impossible given the 60s timeout on WDQS today.
- Be having 2 systems the load should distribute between the two. Especially since QLever is way faster than WDQS.
Drawbacks:
- QLever does not support all the types of queries BG can do, see limitations below.
Options:
- restrict WDQS to logged in users only. This would probably move a big chunk of the current load away from WDQS -> QLever. This could possibly lead to more active contributors in Wikidata as a side-effect.
- impose a penalty for WDQS queries. E.g. display a blocking banner in the UI for 10 seconds that encourages the user to run queries on QLever if possible.
- automatically check all queries before running them if they could run on QLever instead and do that and inform the user that the results are time-lagged. Give the user an option to run it on near-real-time data instead.
Limitations:
I did some investigating on what type of queries QLever supports. It does not seem to support subqueries or queries that has "WITH"