Caching Subgraphs to Reduce Graph Query Execution Cost
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As the complexity and size of graph databases increase, the cost of traversing the entire subgraph for each query becomes prohibitively large, leading to inefficiencies in query execution and user experience.
Innovation Solution
Caching subgraphs after a graph query is performed, allowing subsequent queries to identify and integrate cached subgraphs, thereby reducing the need to traverse the entire graph and improving computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the entire subgraph is traversed for every query, then complete query results are obtained, but query execution cost becomes prohibitively large
Solution Approach 1:
The patent applies preliminary action by caching subgraph results from previous queries before they are needed again. When a query is executed, the system first checks if the result is already cached, and if so, retrieves it directly without re-traversing the graph. This prepares results in advance for future use, significantly reducing query execution cost while maintaining complete results.
Solution Approach 2:
The patent creates copies of subgraph results and stores them in a cache structure. Instead of traversing the original graph database for every query, the system uses cached copies of subgraphs that have been previously computed. These copies contain the complete query results but can be retrieved much faster, resolving the contradiction between result completeness and execution cost.
2Quantity of substance
If graph database size and complexity increase, then more data can be queried, but traversal cost increases prohibitively
Solution Approach 1:
The patent segments the large graph database into smaller subgraphs that can be cached independently. Instead of caching or traversing the entire large graph, the system divides it into manageable subgraph portions based on query patterns. Each subgraph can be cached separately, allowing the system to handle large data volumes while reducing the traversal cost for any individual query to only the relevant subgraph portion.
3Measurement precision
If query expansion levels are increased, then more comprehensive results are obtained, but execution time and cost increase
Solution Approach 1:
The patent applies preliminary action by pre-computing and caching subgraphs at multiple expansion levels. When comprehensive queries with high expansion levels are executed, the system retrieves pre-computed cached subgraphs instead of performing deep graph traversals in real-time. This maintains comprehensive query results while dramatically reducing execution time.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems, methods, and computer readable devices embodying instructions are provided herein for reducing latencies and/or improving computational efficiency when traversing data stored in a relational graph by caching subgraphs and enabling the utilization thereof. More specifically, after a user performs a graph query, the resulting subgraphs of the graph query are cached in a reusable form. Subsequent graph queries are able to identify cached subgraphs based on the graph query. Further, the subsequent graph query is operable to integrate the cached subgraphs as part of the result of subsequent graph query, which may include a portion or the entire result of the subsequent graph query being composed from cached subgraphs, thereby improving the computational efficiency and performance of querying relational graphs, reducing the query execution cost required to traverse the relational graphs, and improving the functionality of the computing devices hosting the relational graphs and running the queries.