Database Middleware for Graph Processing via SQL Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional databases face difficulties in processing graph data due to the need for data normalization, which separates node properties from graph topology, leading to inefficient graph traversals and degraded system performance.

Innovation Solution

A middleware layer is introduced between the underlying databases and graph data to enable efficient graph processing by co-locating adjacency lists and node properties in a single physical record, allowing for cache-locality optimized queries through translation of graph queries into SQL queries over relational tables.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data normalization is applied to store graph data in relational databases, then data redundancy is reduced and update anomalies are avoided, but graph traversal performance deteriorates due to separate junction tables requiring additional joins

Engineering Contradiction:
Improvedata integrityVSAvoidgraph traversal performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the graph data storage into two parts: normalized node properties stored in regular tables for data integrity, and adjacency lists stored as special fields in the same tables for efficient traversals. This segmentation allows each part to serve its optimization goal independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent embeds adjacency lists within the node records themselves, nesting the topology information inside the property storage structure. This allows the junction table functionality to be nested within the node table, eliminating the need for separate physical junction tables.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Productivity

If adjacency lists are co-located with node properties in a single physical record, then cache locality is improved for graph traversals, but space consumption increases due to replication of node properties

Engineering Contradiction:
Improvecache localityVSAvoidspace consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by making the adjacency list storage optional and selective. Each node record can have an adjacency list field only when needed for graph traversal operations, rather than replicating all properties for all nodes. This allows cache locality optimization where needed while minimizing space consumption overall.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10769142B2Graph processing in database
Publication Date: 2020.09.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10769142B2 patent drawing
  • US10769142B2 patent drawing
  • US10769142B2 patent drawing

AI summary

The subject matter described herein relates to database middleware for enabling graph processing. A middleware between the graph data and underlying relational or SQL database is proposed. The local properties and topology information of nodes in the graph can be stored in a single node table in the database, thereby eliminating the need for a physical junction table. The middleware may efficiently translate graph queries into SQL queries over related tables. In some examples, the middleware may optimize the translated queries using the topology knowledge which is oblivious to the database query engine.