Performing Cross-Tabulation Using a Columnar Database Management System
First Claim
1. A computer-implemented method for performing cross tabulation operations in a columnar database, comprising:
- receiving, by a columnar database management system, a request to perform a cross-tabulation operation on a set of database tables, the request specifying one or more row dimensions associated with columns of the database tables participating in the cross tabulation operation, wherein the columnar database stores the database tables in a columnar format;
determining, by the columnar database management system, a result of cross tabulation, the result comprising rows, each row having a combination of values of row dimensions, the determining comprising, for each row of the result associated with a combination of values of row dimensions;
for each value of a row dimension of the combination, determining a domain comprising a set of table records, the table records matching the value of the row dimension;
determining an intersection set of domains corresponding to the row combination, the intersection set comprising table records that match the combination of values corresponding to the row; and
determining a value for a result column for the row combination as an aggregate value based on the intersection set; and
storing the result of the cross tabulation.
7 Assignments
0 Petitions
Accused Products
Abstract
Cross tabulation operation is performed within a columnar database management system. The columnar database management system receives a request to perform a cross-tabulation operation on a set of database tables. The columnar database management system determines values of cross tabulation operation for each row of the result. The columnar database management system determines a domain for each value of the row dimension corresponding to a row combination. The columnar database management system determines an intersection set of the domains corresponding to values of the row dimensions for the row combination. The columnar database management system determines a value for the result column for the row combination as an aggregate value based on the records of the intersection set.
15 Citations
20 Claims
-
1. A computer-implemented method for performing cross tabulation operations in a columnar database, comprising:
-
receiving, by a columnar database management system, a request to perform a cross-tabulation operation on a set of database tables, the request specifying one or more row dimensions associated with columns of the database tables participating in the cross tabulation operation, wherein the columnar database stores the database tables in a columnar format; determining, by the columnar database management system, a result of cross tabulation, the result comprising rows, each row having a combination of values of row dimensions, the determining comprising, for each row of the result associated with a combination of values of row dimensions; for each value of a row dimension of the combination, determining a domain comprising a set of table records, the table records matching the value of the row dimension; determining an intersection set of domains corresponding to the row combination, the intersection set comprising table records that match the combination of values corresponding to the row; and determining a value for a result column for the row combination as an aggregate value based on the intersection set; and storing the result of the cross tabulation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable storage medium storing instructions for:
-
receiving, by a columnar database management system, a request to perform a cross-tabulation operation on a set of database tables, the request specifying one or more row dimensions associated with columns of the database tables participating in the cross tabulation operation, wherein the columnar database stores the database tables in a columnar format; determining, by the columnar database management system, a result of cross tabulation, the result comprising rows, each row having a combination of values of row dimensions, the determining comprising, for each row of the result associated with a combination of values of row dimensions; for each value of a row dimension of the combination, determining a domain comprising a set of table records, the table records matching the value of the row dimension; determining an intersection set of domains corresponding to the row combination, the intersection set comprising table records that match the combination of values corresponding to the row; and determining a value for a result column for the row combination as an aggregate value based on the intersection set; and storing the result of the cross tabulation. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-implemented system comprising:
-
a computer processor; and a non-transitory computer-readable storage medium storing instructions for; receiving, by a columnar database management system, a request to perform a cross-tabulation operation on a set of database tables, the request specifying one or more row dimensions associated with columns of the database tables participating in the cross tabulation operation, wherein the columnar database stores the database tables in a columnar format; determining, by the columnar database management system, a result of cross tabulation, the result comprising rows, each row having a combination of values of row dimensions, the determining comprising, for each row of the result associated with a combination of values of row dimensions; for each value of a row dimension of the combination, determining a domain comprising a set of table records, the table records matching the value of the row dimension; determining an intersection set of domains corresponding to the row combination, the intersection set comprising table records that match the combination of values corresponding to the row; and determining a value for a result column for the row combination as an aggregate value based on the intersection set; and storing the result of the cross tabulation. - View Dependent Claims (18, 19, 20)
-
Specification