Graph Storage Engine Layout for Single-Page Data Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graph database systems suffer from fragmentation and slower performance due to data being stored across multiple pages, leading to inefficient retrieval of node and relationship data.

Innovation Solution

A storage engine that stores graph data in a manner that minimizes fragmentation by keeping at least a portion of node and relationship data on a single page, using small and dynamic data structures to handle growing data, and employing contiguous storage for efficient retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If graph data is stored in separate files for nodes, relationships, and properties, then data organization and flexibility are improved, but data fragmentation across multiple pages increases and retrieval performance deteriorates

Engineering Contradiction:
Improvedata organization flexibilityVSAvoiddata retrieval performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent combines node data, relationship data, and property data into a unified graph data structure stored in a single file. This merging eliminates the need for separate files and reduces data fragmentation across multiple pages, enabling efficient retrieval by reading only the relevant portion of the single file containing all graph elements.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If data is stored in a single file with unified structure, then retrieval efficiency is improved, but data organization flexibility may be reduced

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidstorage structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the unified graph data structure into logical components (nodes, relationships, properties) with distinct identifiers and data types, while storing them in a single file. This segmentation allows efficient retrieval through targeted access to specific segments without requiring separate files, maintaining organization flexibility while improving efficiency.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If multiple files are used for graph data, then data can be organized by type, but accessing dispersed data across files increases I/O operations and computation resources

Engineering Contradiction:
Improvedata storage organizationVSAvoidcomputing resource consumption
Core Design Contradiction:
Ease of manufactureVSLoss of energy

Solution Approach 1:

The patent merges node, relationship, and property data into a single unified file, eliminating the need to access multiple dispersed files. This consolidation reduces I/O operations and computing resource consumption by reading data from a single location, while maintaining logical organization through structured data fields and identifiers.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12596748B2Graph database storage engine
Publication Date: 2026.04.07 NEO4J SWEDEN AB
  • US12596748B2 patent drawing
  • US12596748B2 patent drawing
  • US12596748B2 patent drawing

AI summary

A graph database storage engine is disclosed. In various embodiments, data associated with a node comprising a graph is received via a communication interface. The graph includes a plurality of nodes and a plurality of relationships, and wherein each node in the plurality of nodes has associated therewith a corresponding set of node data and a corresponding set of relationship data. The received data associated with the node is stored in a data storage device in a data record associated with the node, wherein the data record is stored in a static block of a fixed size stored on a single page of data on the data storage device and the data record includes at least a subset of the corresponding set of node data and the corresponding set of relationship data of the node.