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 database tables, the request specifying the database tables as input tables and one or more row dimensions for a result table, the one or more row dimensions representing columns of the database tables, wherein the database tables are stored in a columnar format;
performing, by the columnar database management system, the cross-tabulation operation on the input tables,the cross-tabulation operation comprising a horizontal collapse process and a vertical collapse process,the horizontal collapse process comprising;
determining domains corresponding to the one or more row dimensions for the result table, each domain comprising a set of records of a first input table of the input tables that match a value in a column of the first input table represented by a row dimension of the one or more row dimensions for the result table; and
determining an intersection set of domains corresponding to the first input table;
the vertical collapse process comprising;
moving the domains corresponding to the one or more row dimensions for the result table towards a cross-tabulation resolution level, the moving comprising mapping sets of records in the intersection set of domains to records of a second input table of the input tables;
generating the result table, the generating performed by the columnar database management system, the result table comprising rows, each row of the result table having a combination of values of the one or more row dimensions and defining a record resulting from the cross-tabulation operation,result table further comprising a column for storing an aggregate value corresponding to the record resulting from the cross-tabulation operation; and
storing the result table of the cross tabulation operation.
8 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.
-
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 database tables, the request specifying the database tables as input tables and one or more row dimensions for a result table, the one or more row dimensions representing columns of the database tables, wherein the database tables are stored in a columnar format; performing, by the columnar database management system, the cross-tabulation operation on the input tables, the cross-tabulation operation comprising a horizontal collapse process and a vertical collapse process, the horizontal collapse process comprising; determining domains corresponding to the one or more row dimensions for the result table, each domain comprising a set of records of a first input table of the input tables that match a value in a column of the first input table represented by a row dimension of the one or more row dimensions for the result table; and determining an intersection set of domains corresponding to the first input table; the vertical collapse process comprising; moving the domains corresponding to the one or more row dimensions for the result table towards a cross-tabulation resolution level, the moving comprising mapping sets of records in the intersection set of domains to records of a second input table of the input tables; generating the result table, the generating performed by the columnar database management system, the result table comprising rows, each row of the result table having a combination of values of the one or more row dimensions and defining a record resulting from the cross-tabulation operation, result table further comprising a column for storing an aggregate value corresponding to the record resulting from the cross-tabulation operation; and storing the result table of the cross tabulation operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium storing instructions translatable by a computer implementing a columnar database management system for:
-
receiving a request to perform a cross-tabulation operation on database tables, the request specifying the database tables as input tables and one or more row dimensions for a result table, the one or more row dimensions representing columns of the database tables, wherein the database tables are stored in a columnar format; performing the cross-tabulation operation on the input tables, the cross-tabulation operation comprising a horizontal collapse process and a vertical collapse process, the horizontal collapse process comprising; determining domains corresponding to the one or more row dimensions for the result table, each domain comprising a set of records of a first input table of the input tables that match a value in a column of the first input table represented by a row dimension of the one or more row dimensions for the result table; and determining an intersection set of domains corresponding to the first input table; the vertical collapse process comprising; moving the domains corresponding to the one or more row dimensions for the result table towards a cross-tabulation resolution level, the moving comprising mapping sets of records in the intersection set of domains to records of a second input table of the input tables; generating the result table, the result table comprising rows, each row of the result table having a combination of values of the one or more row dimensions and defining a record resulting from the cross-tabulation operation, the result table further comprising a column for storing an aggregate value corresponding to the record resulting from the cross-tabulation operation; and storing the result table of the cross tabulation operation. - 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 translatable by the computer processor for; receiving a request to perform a cross-tabulation operation on database tables, the request specifying the database tables as input tables and one or more row dimensions for a result table, the one or more row dimensions representing columns of the database tables, wherein the database tables are stored in a columnar format; performing the cross-tabulation operation on the input tables, the cross-tabulation operation comprising a horizontal collapse process and a vertical collapse process, the horizontal collapse process comprising; determining domains corresponding to the one or more row dimensions for the result table, each domain comprising a set of records of a first input table of the input tables that match a value in a column of the first input table represented by a row dimension of the one or more row dimensions for the result table; and determining an intersection set of domains corresponding to the first input table; the vertical collapse process comprising; moving the domains corresponding to the one or more row dimensions for the result table towards a cross-tabulation resolution level, the moving comprising mapping sets of records in the intersection set of domains to records of a second input table of the input tables; generating the result table, the result table comprising rows, each row of the result table having a combination of values of the one or more row dimensions and defining a record resulting from the cross-tabulation operation, the result table further comprising a column for storing an aggregate value corresponding to the record resulting from the cross-tabulation operation; and storing the result table of the cross tabulation operation. - View Dependent Claims (18, 19, 20)
-
Specification