Graph Database Execution Plan Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Graph databases face high development costs and inflexible execution due to the inability to reuse execution code and lack of parallelized scheduling in their execution plans.
Innovation Solution
A method and system for managing execution plans in graph databases, involving acquiring a graph query language, analyzing it to generate an abstract syntax tree, processing it to create customized execution plans with operators and topologies, and scheduling these plans using a scheduler for efficient execution and reusability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If execution code is customized for each query language, then execution accuracy is improved, but development cost increases
Solution Approach 1:
The patent creates execution operators with universal interfaces that can handle multiple query languages (Gremlin, Cypher, SPARQL) through a unified execution plan structure. The standardized message notification mechanism and variable management system serve multiple purposes across different language types, reducing the need for language-specific code while maintaining accurate execution.
Solution Approach 2:
The execution plan is divided into independent execution nodes that can be individually optimized and reused. Each node represents a discrete operation that can be independently scheduled and executed, allowing the system to maintain precision for each operation while reducing overall development complexity through modular design.
2Device complexity
If synchronous scheduling is used for execution plan, then execution control is simplified, but parallelization capability is reduced
Solution Approach 1:
The patent implements dynamic scheduling where the system can adapt between synchronous and asynchronous execution modes based on the execution plan structure. The message notification mechanism allows nodes to be scheduled dynamically, enabling parallel execution when dependencies allow while maintaining simplified control through the standardized notification interface.
Solution Approach 2:
The message notification mechanism acts as an intermediary layer between execution nodes, allowing complex parallel scheduling to be managed through standardized message passing. This intermediary abstraction simplifies control by providing a unified interface while enabling sophisticated parallelization strategies underneath.
3Device complexity
If recursive traversal method is used for execution plan, then implementation is simpler, but stack overflow risk increases
Solution Approach 1:
The patent replaces the traditional recursive mechanical system with an iterative approach using explicit stack management. Instead of relying on system call stacks, the implementation uses heap-allocated data structures to manage traversal state, eliminating stack overflow risks while maintaining traversal functionality.
Solution Approach 2:
The patent moves the traversal state management from the vertical dimension (system call stack) to the horizontal dimension (heap-allocated data structures). This dimensional shift allows unlimited traversal depth without being constrained by system stack limits, improving reliability while keeping implementation manageable.
4Quantity of substance
If variables are not released after use, then memory availability is improved, but memory usage increases
Solution Approach 1:
The patent implements automatic variable release mechanisms that discard variables after their last use and recover the memory for reuse. The system tracks variable usage through the execution plan analysis and automatically releases variables when they are no longer needed, balancing memory availability with efficient utilization.
Solution Approach 2:
The patent uses feedback from the execution plan analysis to dynamically manage variable lifecycle. The system monitors variable usage patterns and provides feedback to the memory management system, enabling intelligent decisions about when to release and reuse variables based on actual execution needs.
Data Source
AI summary
A method and system for managing an execution plan in a graph database includes: acquiring a graph query language, analyzing the graph query language by using a scanner to generate a predefined Token, and parsing the predefined Token into a data structure by using a parser to obtain an abstract syntax tree; next, processing the abstract syntax tree by using a planner to generate an execution plan, registering a mapping table to store variables in the execution plan and corresponding variable values, and optimizing the execution plan by using an optimizer, where the execution plan includes customized execution operators and customized topologies; and finally, traversing and scheduling the execution plan by using a scheduler, to output an obtained execution result. The present disclosure modularizes the execution operators, improves reusability, and reduces the development cost. The execution plan is scheduled by using an asynchronous notification mechanism, to reduce blocking.


