Graph Query Engine Super Node Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graph query processing techniques are inefficient due to high execution time, memory usage, and energy consumption when dealing with super nodes in large graphs, as they often require extensive indexing and frequent revisitation of vertices, which is impractical and costly, especially in dynamic graph environments.

Innovation Solution

Implementing a caching mechanism that stores neighbor vertices of super nodes with excessive degrees, allowing for quick retrieval during graph traversal, thereby reducing the need for repeated database access and minimizing the cost of revisiting super nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional graph query processing is used without caching, then memory usage and execution time are high when dealing with super nodes, but implementing caching requires additional memory space and complexity

Engineering Contradiction:
Improveexecution timeVSAvoidcaching mechanism complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent pre-identifies super nodes in the graph before query execution and pre-loads their neighbor vertices into cache memory. This preliminary action ensures that when queries traverse through super nodes, the neighbor information is already available in cache, eliminating the need for repeated database access and significantly reducing execution time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies caching selectively only to super nodes (nodes with degree exceeding a threshold) rather than all nodes in the graph. This local quality approach focuses computational resources on the specific subset of nodes that cause performance bottlenecks, reducing overall system complexity while achieving significant speedup for query processing.

Inventive Principle:
Principle #3Local quality

2Speed

If indices are created over graph data to facilitate rapid access, then query speed improves, but memory space requirements and index building time increase significantly

Engineering Contradiction:
Improvequery speedVSAvoidmemory space
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent extracts only the neighbor vertex information of super nodes from the full graph data and stores it in cache memory. This extraction approach avoids creating comprehensive indices over the entire graph, reducing memory space requirements while still providing rapid access to the critical neighbor information needed for query traversal.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of indexing all graph data, the patent takes a partial action by indexing only the neighbor vertices of super nodes. This partial indexing strategy provides sufficient speedup for query processing while keeping memory space requirements manageable, avoiding the excessive resource consumption of full graph indexing.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If comprehensive indices are created for all possible predicate types, then query flexibility improves, but index building time and memory consumption become impractical

Engineering Contradiction:
Improvequery flexibilityVSAvoidindex building time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent creates a universal cache structure for super node neighbors that can serve multiple query types and predicates. Instead of creating separate indices for each predicate type, the cached neighbor information provides a multi-functional foundation that supports various query operations, maintaining flexibility while avoiding redundant index building.

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

4Reliability

If graph data is frequently mutated, then data freshness improves, but maintaining indices becomes expensive and time-consuming

Engineering Contradiction:
Improvedata freshnessVSAvoidindex maintenance efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements a dynamic caching strategy where the cache is automatically updated when graph mutations occur. The system dynamically identifies which super nodes are affected by mutations and updates only their neighbor caches, rather than maintaining static comprehensive indices. This dynamic approach maintains data freshness while minimizing the overhead of cache maintenance.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11256750B2Fast graph query engine optimized for typical real-world graph instances whose small portion of vertices have extremely large degree
Publication Date: 2022.02.22 ORACLE INT CORP
  • US11256750B2 patent drawing
  • US11256750B2 patent drawing
  • US11256750B2 patent drawing

AI summary

Techniques herein accelerate graph querying by caching neighbor vertices (NVs) of super-node vertices. In an embodiment, a computer receives a graph query (GQ) to extract result paths from a graph in a database. The GQ has a sequence of query vertices (QVs) and a sequence of query edges (QEs). The computer successively traverses each QE and QV to detect paths of the graph that match the GQ. Traversing each QE and QV entails retrieving NVs of a current graph vertex (CGV) of a current traversal path. If the CGV is a key in a cache whose keys are graph vertices having an excessive degree, then the computer retrieves NVs from the cache. Otherwise, the computer retrieves NVs from the database. If the degree is excessive, and the CGV is not a key in the cache, then the computer stores, into the cache, the CGV as a key for the NVs.