Graph Query Optimization via Pattern Frequency Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graph databases face challenges in predicting intermediate result levels and calculating pattern frequencies due to their dynamic schema and complex data structure, making it difficult to apply histogram-based methods used in relational databases.

Innovation Solution

A data processing apparatus and method that stores preset graph patterns, their occurrence frequencies, and information on actual data nodes, allowing for comparison and search of shared nodes between patterns to calculate pattern distributions by multiplying corresponding values, optimizing graph queries while minimizing memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If histogram-based methods are used for predicting intermediate results, then query processing performance is improved, but the method cannot be applied to graph databases due to their dynamic schema and complex data structure

Engineering Contradiction:
Improvequery processing performanceVSAvoidapplicability to graph database
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent transforms the graph pattern matching problem into a parameter-based frequency prediction problem. Instead of using histogram-based methods that require fixed schemas, the system predicts pattern frequencies by calculating occurrence frequencies of graph patterns based on node occurrence frequencies and edge connectivity, adapting the prediction approach to the dynamic nature of graph databases.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces the mechanical histogram construction approach with a mathematical calculation system. Rather than building histograms from data samples, the system uses occurrence frequency calculations based on node and edge properties, substituting the mechanical sampling process with mathematical predictions that work for both relational and graph databases.

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

2Measurement precision

If graph patterns of various sizes are stored to improve prediction accuracy, then intermediate result prediction is improved, but memory capacity requirements increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidmemory capacity
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the graph pattern prediction problem into manageable components: node occurrence frequencies, edge connectivity information, and pattern composition rules. By breaking down complex graph patterns into smaller elemental units (nodes and edges) with their own frequency characteristics, the system can predict frequencies of larger patterns without storing all possible pattern instances in memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary calculations of node occurrence frequencies and edge connectivity metrics before actual query execution. These pre-computed base values are stored instead of complete pattern frequency tables, and final pattern frequencies are derived through calculation during query processing, reducing memory requirements while maintaining prediction accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10176221B2Data processing apparatus and prediction method of pattern frequency thereof
Publication Date: 2019.01.08 AGEDB TECH LTD
  • US10176221B2 patent drawing
  • US10176221B2 patent drawing
  • US10176221B2 patent drawing

AI summary

Provided are data processing apparatus and methods for predicting a pattern frequency thereof. The data processing apparatus includes: a storage unit adapted to store a preset graph pattern, an occurrence frequency of the preset graph pattern, and information on actual data nodes corresponding to each node which belongs to the graph pattern; and a control unit adapted to compare the preset graph pattern with a graph pattern to be searched to perform a graph search, and when the preset graph pattern is not included in the graph to be searched, search for a node shared by two different preset graph patterns which are stored in the storage unit to perform the graph search. By this configuration, it is possible to predict a level of an intermediate result to optimize a graph query and effectively calculate sizes of various graphs patterns while making a capacity of a memory small.