Graph Database Execution Plan Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Manufacturing precision

If execution code is customized for each query language, then execution accuracy is improved, but development cost increases

Engineering Contradiction:
Improveexecution accuracyVSAvoiddevelopment cost
Core Design Contradiction:
Manufacturing precisionVSEase of manufacture

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If synchronous scheduling is used for execution plan, then execution control is simplified, but parallelization capability is reduced

Engineering Contradiction:
Improveexecution control complexityVSAvoidparallelization capability
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If recursive traversal method is used for execution plan, then implementation is simpler, but stack overflow risk increases

Engineering Contradiction:
Improveimplementation complexityVSAvoidstack overflow risk
Core Design Contradiction:
Device complexityVSReliability

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Quantity of substance

If variables are not released after use, then memory availability is improved, but memory usage increases

Engineering Contradiction:
Improvememory availabilityVSAvoidmemory usage
Core Design Contradiction:
Quantity of substanceVSLoss of energy

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.

Inventive Principle:
Principle #34Discarding and recovering

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11874831B2Method and system for managing execution plan in graph database
Publication Date: 2024.01.16 VESOFT INC
  • US11874831B2 patent drawing
  • US11874831B2 patent drawing
  • US11874831B2 patent drawing

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.