Graph Algorithms in Relational Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional relational databases are unable to support graph algorithms operating on graph-modeled data, requiring the exportation of data to external systems and lacking enforcement of security rules like authorizations and ownership.
Innovation Solution
Implementing graph algorithms as stored procedures within the relational database, allowing native execution and enforcement of security rules, with support for domain-specific programming languages converted to relational database-specific languages, and managing graph data in vertex and edge tables.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If graph algorithms are executed using external systems, then graph processing capability is achieved, but data security and authorization enforcement are compromised
Solution Approach 1:
The patent merges graph processing capabilities directly into the relational database system by implementing graph algorithms as stored procedures. This integration allows the database to natively execute graph algorithms while maintaining its security model, authorization mechanisms, and data protection features. The graph processing functionality is combined with the existing database infrastructure rather than operating as a separate external system.
Solution Approach 2:
The patent introduces an intermediary layer that converts graph algorithm definitions from domain-specific programming languages into the relational database's native procedure language. This intermediary conversion mechanism enables seamless integration of graph processing capabilities while ensuring that all operations remain within the database's secure environment, bridging the gap between graph processing needs and database security requirements.
2Reliability
If graph algorithms are stored as stored procedures, then security rules are enforced, but system complexity increases
Solution Approach 1:
The patent makes the relational database system universal by enabling it to perform both traditional relational operations and graph algorithm executions through stored procedures. This multi-functionality allows a single system to handle diverse workloads without requiring separate specialized systems, thereby managing complexity through consolidation rather than proliferation of components.
Solution Approach 2:
The patent changes the parameter of algorithm representation by storing graph algorithms as executable stored procedures within the database rather than as external programs. This parameter change in how algorithms are stored and executed simplifies the overall system architecture while maintaining security, as the database's existing procedure management infrastructure is leveraged without requiring new complex mechanisms.
3Adaptability or versatility
If domain-specific programming languages are converted to database-specific languages, then graph algorithm functionality is preserved, but conversion overhead is introduced
Solution Approach 1:
The patent applies preliminary action by pre-converting graph algorithm definitions from domain-specific programming languages into the relational database's native procedure language during the algorithm creation or loading phase. This upfront conversion ensures that the algorithms are ready for immediate execution without requiring conversion at runtime, thereby minimizing time loss during actual graph processing operations.
Data Source
AI summary
A system for processing graph-modeled data in a relational database is provided. In some implementations, the system performs operations comprising: receiving, from a first user, a request to define a graph algorithm operating on a graph workspace, the graph workspace comprising at least a portion of graph-modeled data stored at a relational database; applying a first security rule associated with the relational database, the applying comprising determining whether the first user has a privilege to define the graph algorithm operating on the graph workspace; and storing the graph algorithm at the relational database, when the first user is determined to have the privilege to define the graph algorithm operating on the graph workspace. Related methods and articles of manufacture, including computer program products, are also provided.


