Adjacency Structures for Graph Algorithms in Relational Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Relational databases face inefficiencies in processing graph-modeled data due to the need for external processing engines and the redundancy of secondary indexes, which can hinder the execution of graph algorithms.

Innovation Solution

Implementing an adjacency structure within the relational database, such as an adjacency list or matrix, to enable efficient execution of graph algorithms by storing vertices and edges in separate tables and dynamically generating or updating this structure based on performance metrics and changes in the data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If graph algorithms are executed in a relational database using traditional table structures, then data storage is maintained with standard relational schemas, but execution efficiency deteriorates due to the need for external processing engines and redundant secondary indexes

Engineering Contradiction:
Improveexecution efficiencyVSAvoidsystem architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the graph data storage and adjacency structure into the relational database system itself, eliminating the need for separate external processing engines. The adjacency structure is integrated as a specialized data structure within the database, combining relational storage with graph algorithm execution capabilities in a unified system.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent extracts the adjacency structure from traditional relational table structures, creating a specialized data structure that specifically represents graph relationships. This adjacency structure is separated from the standard vertex/edge tables to provide efficient graph algorithm execution without relying on redundant secondary indexes.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If an adjacency structure is generated and maintained within the relational database, then graph algorithm execution efficiency is improved, but computational resources and storage requirements increase

Engineering Contradiction:
Improvegraph algorithm execution speedVSAvoidcomputational resources
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The adjacency structure is dynamically generated and maintained within the relational database based on the specific graph data and algorithm requirements. The structure adapts to changes in the graph-modeled data, being regenerated or updated when data changes are detected, thereby optimizing performance for current data states without wasting resources on stale or irrelevant adjacency information.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the storage and computation parameters by introducing the adjacency structure as a specialized data representation. This parameter change enables efficient graph algorithm execution by transforming the data structure from traditional relational tables to an adjacency-based format that is optimized for graph processing operations.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the adjacency structure is updated in response to data changes, then data currency is maintained, but processing time and computational overhead increase

Engineering Contradiction:
Improvedata currencyVSAvoidupdate processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements a feedback mechanism where changes in graph-modeled data are detected and trigger updates to the adjacency structure. This feedback loop ensures that the adjacency structure remains current with the underlying data, maintaining data currency and reliability for subsequent graph algorithm executions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The adjacency structure is pre-generated and pre-maintained within the database schema, allowing for rapid access during graph algorithm execution. By preparing the adjacency structure in advance and maintaining it through automated updates, the system reduces the time required during actual algorithm execution while ensuring data currency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10546021B2Adjacency structures for executing graph algorithms in a relational database
Publication Date: 2020.01.28 SAP SE
  • US10546021B2 patent drawing
  • US10546021B2 patent drawing
  • US10546021B2 patent drawing

AI summary

A system for processing graph-modeled data in a relational database is provided. The system can include at least one data processor and at least one memory storing instructions that are executed by the at least one data processor. Executing the instructions can result in operations comprising: receiving a request to execute a graph algorithm operating on graph-modeled data stored at a relational database; and executing the graph algorithm within the relational database, the executing comprising use of an adjacency structure within the relational database. Related methods and articles of manufacture, including computer program products, are also provided.