Graph Database Path Query Evaluation via Index-Free Adjacency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Applications face difficulties in optimizing query performance in relational databases due to the lack of knowledge about the underlying relational model, leading to suboptimal query execution and degraded user experience, especially when handling complex relationships.
Innovation Solution
A graph database is employed, which allows for efficient storage and retrieval of data using a graph data model with index-free adjacency, enabling constant-time navigation and schema changes, and declarative evaluation of path queries without requiring knowledge of the relational model.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a relational database is used to store data with a predefined relational model, then data can be organized into tables with rows and columns representing entities and their relationships, but applications cannot efficiently query complex relationships because they lack knowledge of the underlying relational model
Solution Approach 1:
The patent introduces an object-relational mapper as an intermediary layer between the application and the relational database. This mapper translates application-level object models into relational database queries automatically, allowing applications to query complex relationships without needing to understand the underlying relational schema. The mapper serves as a mediator that handles the complexity of relationship queries while presenting a simple object-oriented interface to applications.
2Ease of operation
If an object-relational mapper is implemented to bridge the gap between applications and relational databases, then applications can effectively understand the relational model, but the system becomes difficult to generate and maintain especially for large real-time applications
Solution Approach 1:
The patent implements a self-service mechanism where the system automatically generates and maintains the object-relational mapper through schema inference. Instead of requiring manual configuration, the system analyzes the relational database schema and automatically creates the corresponding object model mappings. This self-generating approach eliminates the manual maintenance burden while keeping the mapper synchronized with the underlying database structure, particularly beneficial for large real-time applications where manual updates would be impractical.
3Ease of operation
If a key-value store is used to allow applications to access data as objects in memory with pointers, then applications can access data in a familiar manner, but the absence of a relational model makes it difficult to optimize queries and extract complicated relationships
Solution Approach 1:
The patent segments the data storage and access mechanisms into two distinct layers: a key-value store for simple object access and a relational model layer for complex relationship queries. The key-value store handles straightforward data retrieval with pointer-based navigation, while the relational model layer provides optimized query processing for complicated relationships. This segmentation allows applications to benefit from both the simplicity of object-based access and the power of relational query optimization without the drawbacks of either approach alone.
Data Source
AI summary
The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system stores intermediate results of a query in a structure comprising rows in a set of tables. Next, the system applies one or more operations to existing rows in the structure to generate additional rows in additional tables of the structure. The system also tracks inputs and outputs associated with the one or more operations in a set of relationships between rows of different tables in the structure. Finally, the system uses the rows and the set of relationships to generate a final result of the query and provides the final result in a response to the query.


