Systems and methods for using graph data structures
AssigneeRoyal Bank of Canada
InventorJason Xiao Han CHEN
Life of this patent
Estimating the term…
Abstract
An approach and corresponding computer system adapted for combining relational and non-relational data storage and indexing techniques is proposed. The approach utilizes graph data structures that are specifically configured for supporting performance improvements in relational querying while maintaining the advantages from a non-relational database. The graph data structures can be used for graph traversals and graph operations, among others, which can improve an overall computational complexity level associated with various operations at the cost of storage.
Claims20
A computer implemented database system, the system comprising a computer processor configured to:
- receive one or more data sets for storage in a non-relational database, each of said data sets comprising data elements;
- instantiate, prior to a start of a runtime duration, a graph data structure having a plurality of interconnected nodes connected by at least one or more edges;
- prior to the start of the runtime duration, populate the graph data structure by performing a mapping of said non-relational database to assign one or more database entries of the non-relational database to each node of said plurality of interconnected nodes, and to assign to the one or more edges a description value or field indicating how the one or more database entries are related to each other;
- store the graph data structure e non-relational database;
- receive a relational query for said non-relational database;
- process said relational query based at least in part on said graph data structure;
- and
- return a result of said relational query.
A computer implemented method for improving performance of a database system, the method comprising:
- receiving one or more data sets for storage in said non-relational database, each of said data sets comprising data elements;
- instantiating, prior to a start of a run-time duration, a graph data structure having a plurality of interconnected nodes connected by at least one or more edges;
- prior to the start of the runtime duration, populating the graph data structure by performing a mapping of said non-relational database to assign one or more database entries of the non-relational database to each node of said plurality of interconnected nodes, and to assign to the one or more edges a description value or field indicating how the one or more database entries are related to each other;
- storing said graph data structure in said non-relational database;
- receiving a relational query for said non-relational database;
- processing said relational query based at least in part on said graph data structure;
- and
- returning a result of said relational query.
Dependencies are inferred from the claim text.