[GIE-QO] Towards optimizing the execution of Gremlin's subquery
- Dominant language
- C++
- Stars
- 3.6k
- Forks
- 468
- Avg merge
- 29m
- Merged PRs (30d)
- 1
Description
**Is your feature request related to a problem? Please describe.**
Subquery is an important feature in Gremlin, in which an internal query is called by an external query for expressing certain functionality. For example, in the query g.V().out().where(out().has(“name”, “John”)), the clause enclosed by where()-step is a subquery that is used to check whether there is an outgoing neighbor named “John”. There are some alternative ways of executing subquery, but the problem is there is not a standard for choosing the best way.
**Describe the solution you'd like**
A potential solution is required to derive some heuristics for choosing the best way of executing the subqueries via a set of benchmarking and cost analysis, specifically
- two candidate alternatives of executing subquery will be provided;
- a proposal of benchmarking should be given in order to evaluate the performance of two alternatives under different scenarios;
- a thorough cost analysis can be conducted via the benchmarking results;
- some heuristics of choosing between the two alternatives are finally derived from the cost analysis.
Contributor guide
Research direction
No files, tests, or entry points are named. Start by locating the two candidate Gremlin subquery execution alternatives, then define benchmark scenarios and compare their costs. Done means producing evidence-based heuristics for choosing between the alternatives.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100