Method for laying out fields in a database in a hybrid of row-wise and column-wise ordering
First Claim
Patent Images
1. A method for representing a database of multiple data objects on computer memory, comprising:
- separating a data object with multiple attributes into at least two parts—
a first part having measure columns laid out in row-major order and a second part having non-measure columns laid out in a vertical partition, said measure and non-measure columns representing different characteristics of a database table;
creating a hybrid layout of said database table by organizing attributes of said first and second parts into at least two separate banks, with the bank being a vertical partition containing a subset of the attributes;
sizing each bank as a divisor of a machine register size; and
storing said first and second parts in the at least two separate banks.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and article are provided for employment of a hybrid layout of representation of data objects in computer memory. Columns of the database are separated based upon a classification of the columns. A vertical partition in the form of a bank is provided to receive an assignment of one or more data objects identified in the columns. Each bank is sized to be a divisor of a size of an associated hardware register. Assignment of data objects to banks organizes the data in a manner that support efficient query processing that mitigates the quantity of banks required to respond to the query.
-
Citations
20 Claims
-
1. A method for representing a database of multiple data objects on computer memory, comprising:
-
separating a data object with multiple attributes into at least two parts—
a first part having measure columns laid out in row-major order and a second part having non-measure columns laid out in a vertical partition, said measure and non-measure columns representing different characteristics of a database table;creating a hybrid layout of said database table by organizing attributes of said first and second parts into at least two separate banks, with the bank being a vertical partition containing a subset of the attributes; sizing each bank as a divisor of a machine register size; and storing said first and second parts in the at least two separate banks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An article configured to represent a database of multiple data objects on computer memory, the article comprising:
a computer-readable medium including computer program instructions and to process a query responsive to the configuration, the instructions comprising; instructions to separate a data object with multiple attributes into at least two parts —
a first part having measure columns laid out in row-major order and a second part having non-measure columns laid out in a vertical partition, said measure and non-measure columns representing different characteristics of a database table;instructions to create a hybrid layout of said database table by organizing attributes of said first and second parts into at least two separate banks, with the bank being a vertical partition containing a subset of the attributes; instructions to size each bank as a divisor of a machine register size; and instructions to said first and second parts in the at least two separate banks. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
20. A method for representing a database of multiple data objects on computer memory, comprising:
-
separating a data object with multiple attributes into at least two parts—
a first part having measure columns laid out in row-major order and a second part having non-measure columns laid out in a vertical partition, said measure and non-measure columns representing different characteristics of a database table, said measure columns used by a query for aggregation and not for predicate evaluation or group-by processing, and said non-measure column identifiable by their presence in a dimension table of said database;creating a hybrid layout of said database table by organizing attributes of said first and second parts into at least two separate banks, with the bank being a vertical partition containing a subset of the attributes; sizing each bank as a divisor of a machine register size; and storing said first and second parts in the at least two separate banks.
-
Specification