Multiple dimensioned database architecture
First Claim
Patent Images
1. A database management apparatus, comprising:
- A) a first data store that stores, in a plurality of first memory units, a copy of the data of a logical database model according to a first physical layout, the logical database model comprising at least one table group, wherein each table group includes one root table and at least one other table distinct from the root table and related thereto, each table in the table group being characterized as having columns of attributes and rows of data, wherein each of the plurality of first memory units includes, as a first composite entity, all the data from at least one row of a root table and all related rows of data from the at least one other table related thereto such that rows from multiple distinct tables of the table group are inherently linked and stored in the first memory unit as the first composite entity, the first physical layout providing sequential access, as the first composite entity, to all the data in that root table row and the related data from the at least one other table in response to a query of a first type, the sequential access taking place without individual random accesses to the root table and the at least one other table related thereto, thereby eliminating a need to process a join operation each time such relationship is accessed, andB) a second data store that stores, in a plurality of second memory units, a redundant copy of the data of the logical database model according to a second physical layout wherein each second memory unit includes all data from at least one of the attributes and all the corresponding values of that attribute, the second physical layout providing sequential access, as a set of columns, to the data in each attribute in response to a query of a second type; and
C) a data dictionary populated with information from the logical database model that identifies relationships among the tables in different ones of the table groups.
5 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.
-
Citations
22 Claims
-
1. A database management apparatus, comprising:
-
A) a first data store that stores, in a plurality of first memory units, a copy of the data of a logical database model according to a first physical layout, the logical database model comprising at least one table group, wherein each table group includes one root table and at least one other table distinct from the root table and related thereto, each table in the table group being characterized as having columns of attributes and rows of data, wherein each of the plurality of first memory units includes, as a first composite entity, all the data from at least one row of a root table and all related rows of data from the at least one other table related thereto such that rows from multiple distinct tables of the table group are inherently linked and stored in the first memory unit as the first composite entity, the first physical layout providing sequential access, as the first composite entity, to all the data in that root table row and the related data from the at least one other table in response to a query of a first type, the sequential access taking place without individual random accesses to the root table and the at least one other table related thereto, thereby eliminating a need to process a join operation each time such relationship is accessed, and B) a second data store that stores, in a plurality of second memory units, a redundant copy of the data of the logical database model according to a second physical layout wherein each second memory unit includes all data from at least one of the attributes and all the corresponding values of that attribute, the second physical layout providing sequential access, as a set of columns, to the data in each attribute in response to a query of a second type; and C) a data dictionary populated with information from the logical database model that identifies relationships among the tables in different ones of the table groups. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for generating a data structures for data contained in a logical database with tables in different relationships and a data dictionary, method comprising:
-
A) forming table groups from the tables in the logical database based on the data in the data dictionary including, for each table group, a root table and one or more tables related thereto, at least one table in the table group having a column structure that differs from the column structure of another table in the table group, the data dictionary populated with information from the logical database that identifies relationships among the tables in different ones of the table groups, B) creating, for each table group, a data store unit for storing the data for the logical database in a first physical layout wherein each of a plurality of first memory units includes, as a composite entity, all the data from one row of the root table and relevant rows of data from the related tables such that rows from multiple distinct tables of the table group are stored in the first memory unit as the composite entity, the composite entity being adapted for sequential access without individual random accesses to the root table and the relevant rows of data from the related tables or any associated join operation, and C) creating, for each table and attribute in the table group, another data store unit for storing a redundant copy of the data of the logical database in a plurality of second memory units in a second physical layout wherein each second memory unit includes all the data from an attribute in the database and all the corresponding values of that attribute.
-
-
21. A method for responding to a query to a logical database with root and related tables in different relationships and a data dictionary that identifies each table and a table group for that table in the database, the data dictionary populated with information from the logical database that identifies relationships among the tables in different ones of the table groups, wherein each of the tables includes attributes in columns and data in rows, comprising:
-
storing a copy of the data in a plurality of first memory units according to a first physical layout wherein each first memory unit includes, as a composite entity, all the data from at least one row of a root table together with all related rows of data from the one or more other tables related thereto such that rows from multiple distinct tables of the table group are stored in the first memory unit as the composite entity, the composite entity being adapted for sequential access without individual random accesses to the root table and the relevant rows of data from the related tables or any associated join operation; storing a redundant copy of the data in a plurality of second memory units according to a second physical layout wherein each second memory unit includes all the data from at least one of the attributes together with all the corresponding values of that attribute; and responding to the query, for each table group, according to the following sub-steps; A) identifying table groups and the tables in the query, B) parsing the query by comparing the tables in the table group as provided by the data dictionary to the identified query tables, C) extracting a list of attributes in the query that are contained in tables that are common to the database and to the query, D) identifying one of a plurality of processing options in response to the extracted list of attributes, and E) processing the selected option to obtain the data in an intermediate resultset from the database that satisfies those portions of the query that related to the table group, and F) combining the intermediate resultsets to obtain a final resultset that satisfies the query.
-
-
22. A computer program product comprising tangible machine-readable program instructions executable by a processor to perform a method of managing data grouped according to a logical database model, the logical database model associated with a data dictionary and comprising at least one table group, each table group including one root table and one or more other tables distinct from the root table and related thereto, each table in the table group having columns of attributes and rows of data, at least one table in the table group having a column structure that differs from the column structure of another table in the table group, the data dictionary populated with information from the logical database model that identifies relationships among the tables in different ones of the table groups, the method comprising:
-
storing a copy of the data in a plurality of first memory units according to a first physical layout wherein each first memory unit includes, as a composite entity, all the data from at least one row of a root table together with all related rows of data from the one or more other tables related thereto such that rows from multiple distinct tables of the table group are stored in the first memory unit as the composite entity; and responsive to a query of a first type, sequentially accessing and providing, as the composite entity, all the data in a row of the root table together with all related data from the one or more other tables related thereto; the sequential accessing and providing step taking place in response to the query without individual random accesses to the root table and the one or more other tables or any associated join operation; storing a redundant copy of the data in a plurality of second memory units according to a second physical layout wherein each second memory unit includes all the data from at least one of the attributes together with all the corresponding values of that attribute; and responsive to a query of a second type, sequentially accessing and providing, as a set of columns the data in each attribute.
-
Specification