MULTIPLE DIMENISIONED DATABASE ARCHITECTURE
First Claim
1. In a database management system including database storage means for storing the data of a logical database model comprising at least one table group wherein each table group includes one root table and at least one other table related thereto, each logical table being characterized as having columns of attributes and rows of data, said database storage means comprising:
- A) first data store means for storing all the data in the database in a plurality of memory locations in a first dimension wherein each of the plurality memory locations includes all the data from one row of a root table and all the related data from the other tables in that table group relevant data that one root table row thereby to allow sequential access to all the data in that root table row and its related rows in the other related tables, andB) second data store means for storing all the data in the database in a plurality of memory locations in a second dimension wherein each memory location includes all the data from one of the attributes in the database and all the corresponding values thereby to allow sequential access to the data in each attribute.
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.
126 Citations
22 Claims
-
1. In a database management system including database storage means for storing the data of a logical database model comprising at least one table group wherein each table group includes one root table and at least one other table related thereto, each logical table being characterized as having columns of attributes and rows of data, said database storage means comprising:
-
A) first data store means for storing all the data in the database in a plurality of memory locations in a first dimension wherein each of the plurality memory locations includes all the data from one row of a root table and all the related data from the other tables in that table group relevant data that one root table row thereby to allow sequential access to all the data in that root table row and its related rows in the other related tables, and B) second data store means for storing all the data in the database in a plurality of memory locations in a second dimension wherein each memory location includes all the data from one of the attributes in the database and all the corresponding values thereby to allow sequential access to the data in each attribute. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20)
-
-
18. A system as recited in claim each said column type value identifies a values have variable lengths, said header additionally an attribute stride position vector having pointers to the locations of the column data.
-
21. A method for generating a data structures for data contained in a logical database with tables in different relationships and a data dictionary, said method comprising the steps of:
-
A) forming table groups from the tables in the logical database based the data in the data dictionary including, for each table group, a root table and tables related thereto, B) creating, for each table group, a data store unit for storing the data for the database in a first dimension wherein each of a plurality of memory locations includes all the data from one row of the root table and relevant data from the related tables thereby to allow sequential access to all the data in that root table row and related table row, and C) creating, for each table and attribute in the table group, another data store unit for storing the database in a plurality of memory locations in a second dimension wherein each memory location includes all the data from an attribute in the database and all the corresponding values thereby to allow sequential access to the data in each attribute memory location.
-
-
22. 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, wherein each of the tables includes attributes in columns and data in rows and the database is stored one data store unit in a first dimension wherein each of a plurality of memory locations includes all the data from one row of the root table and relevant data from the related tables and is stored in another data store unit in a plurality of memory locations in a second dimension wherein each memory location includes all the data from one of the attributes in the database and all the corresponding values, said response to the query including, for each table group, the steps of:
-
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.
-
Specification