Concurrent Adaptive Graph Storage for Path-Based Dataset Queries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems, both relational and graph-based, face inefficiencies in executing path-oriented searches, particularly in large or complex datasets, due to differences in schema and the inability of traditional indexes to handle relationship information between records.

Innovation Solution

A method is implemented where data objects are stored concurrently in both a non-graph and a graph data repository, with metadata being transformed into nodes and edges in the graph repository, allowing concurrent searches in both systems to optimize path-based queries, and results are mapped back to the non-graph format for display.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If data is stored only in a non-graph database system, then storage simplicity is maintained, but path-based query efficiency deteriorates

Engineering Contradiction:
Improvestorage simplicityVSAvoidpath-based query efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system segments data storage into two separate repositories: a non-graph database for general data storage and a graph database specifically for storing relationship data. This segmentation allows each repository to be optimized for its specific function, with the graph database handling path-based queries efficiently while the non-graph database maintains storage simplicity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The graph database acts as an intermediary between the non-graph database and path-based query requirements. It receives data objects from the non-graph database, extracts relationship information, and stores it in graph format, enabling efficient path-based queries without requiring the primary database to change.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is stored concurrently in both non-graph and graph repositories, then path-based query efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvepath-based query efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system merges two different database technologies (non-graph and graph databases) into a unified federated system that handles both general data storage and relationship-based queries. This combination allows the system to leverage the strengths of both approaches while managing complexity through standardized interfaces and automated data synchronization.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of manufacture

If traditional database indexes are used, then storage simplicity is maintained, but relationship search capability deteriorates

Engineering Contradiction:
Improvestorage simplicityVSAvoidrelationship search capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The graph database serves as an intermediary that specifically handles relationship search operations. It receives data objects, extracts relationship information, and stores it in a graph structure optimized for traversing connections between entities, thereby enhancing relationship search capability without affecting the simplicity of the primary storage system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250258867A1Concurrent automatic adaptive storage of datasets in graph databases
Publication Date: 2025.08.14 PALANTIR TECHNOLOGIES INC
  • US20250258867A1 patent drawing
  • US20250258867A1 patent drawing
  • US20250258867A1 patent drawing

AI summary

A method of managing digital entities in data repositories comprises storing one or more data objects in a non-graph data repository into one or more nodes and edges of a graph, comprising transforming an access control list (ACL) of a first data object into an ACL node and transforming a version of a second data object into a version node in a graph data repository; electronically receiving a search query associated with a user account for a shortest path between two specified nodes of the graph; executing the search query against the graph data repository to generate a result set of nodes including only nodes corresponding to most recent versions of the one or more data objects that are visible to the user account under applicable ACLs.