Multiple dimensioned database architecture supporting operations on table groups
First Claim
1. A non-transitory computer-readable storage medium storing a computer readable program of computer instructions, wherein the computer readable program, when executed on a data processing system, causes the data processing system to carry out operations to process a query against a database, the database storing information from a data dictionary that has been configured into one or more table groups, the operations comprising:
- (a) identifying a set of one or more table groups associated with the query (i) constructing a first graph comprising a set of one or more nodes, and one or more links among the one or more nodes, wherein a node in the first graph is associated with a table in the data dictionary, wherein a link is associated with a directional edge corresponding to a link between a primary key and a foreign key in the data dictionary;
(ii) constructing a second graph comprising a set of one or more nodes, and one or more links among the one or more nodes, wherein a node in the second graph is associated with a table identified in the query, and wherein a link in the second graph is a join predicate in the query; and
(iii) comparing the first and second graphs to determine which tables and relationships are common to both the first and second graphs;
(b) for each table group, and until all table groups are evaluated;
(i) selecting a table group from the set of one or more table groups;
(ii) identifying one or more tables in the selected table group that are associated with the query; and
(iii) generating an intermediate resultset for the selected table group; and
(c) processing intermediate resultsets from the table groups to create a final result.
3 Assignments
0 Petitions
Accused Products
Abstract
A database management system stores data form a plurality of logical tables as independent copies in different format. In one specific example the system organizes tables into table groups and de-normalizes the table in each table group. It also organizes data in a second format including vertical column containers that store all the data for one attribute, there being one column container for each table and each attribute within that table. The receipt of a query causes the system to develop a query plan that can interact with either or both of the container sets.
12 Citations
12 Claims
-
1. A non-transitory computer-readable storage medium storing a computer readable program of computer instructions, wherein the computer readable program, when executed on a data processing system, causes the data processing system to carry out operations to process a query against a database, the database storing information from a data dictionary that has been configured into one or more table groups, the operations comprising:
- (a) identifying a set of one or more table groups associated with the query (i) constructing a first graph comprising a set of one or more nodes, and one or more links among the one or more nodes, wherein a node in the first graph is associated with a table in the data dictionary, wherein a link is associated with a directional edge corresponding to a link between a primary key and a foreign key in the data dictionary;
(ii) constructing a second graph comprising a set of one or more nodes, and one or more links among the one or more nodes, wherein a node in the second graph is associated with a table identified in the query, and wherein a link in the second graph is a join predicate in the query; and
(iii) comparing the first and second graphs to determine which tables and relationships are common to both the first and second graphs;
(b) for each table group, and until all table groups are evaluated;
(i) selecting a table group from the set of one or more table groups;
(ii) identifying one or more tables in the selected table group that are associated with the query; and
(iii) generating an intermediate resultset for the selected table group; and
(c) processing intermediate resultsets from the table groups to create a final result. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
- (a) identifying a set of one or more table groups associated with the query (i) constructing a first graph comprising a set of one or more nodes, and one or more links among the one or more nodes, wherein a node in the first graph is associated with a table in the data dictionary, wherein a link is associated with a directional edge corresponding to a link between a primary key and a foreign key in the data dictionary;
Specification