PARTITIONING IN VIRTUAL COLUMNS
First Claim
Patent Images
1. A computer-implemented method for partitioning a database object, comprising:
- dividing a database object into a plurality of partitions,wherein each individual partition of the plurality of partitions corresponds to a unique subset of values in a virtual column of the database object,wherein a DBMS defines the virtual column as containing results of an expression, andwherein the virtual column comprises values computed based on the expression.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described herein for partitioning a database table using a virtual column as the partitioning key. A virtual column is defined by the database to contain results of a defining expression. Partitioning can be performed using a variety of partitioning schemes, such as range partitioning and hash partitioning. The partitions are automatically updated to reflect changes to the values in the base columns upon which the virtual column depends. Partition pruning and parallel-wise partition joins can be performed on database tables which have been partitioned on virtual columns.
-
Citations
16 Claims
-
1. A computer-implemented method for partitioning a database object, comprising:
-
dividing a database object into a plurality of partitions, wherein each individual partition of the plurality of partitions corresponds to a unique subset of values in a virtual column of the database object, wherein a DBMS defines the virtual column as containing results of an expression, and wherein the virtual column comprises values computed based on the expression. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method for processing a statement that specifies a join between a first database object and a second database object based on a join key, where the first database object is partitioned based on the join key, the method comprising the steps of:
-
distributing to each slave process of a plurality of slave processes a first subset of data from said first database object and a second subset of data from said second database object, wherein said first and second subsets of data that are distributed to each slave process are established based on the partitioning criteria used to partition said first object, wherein the join key is a virtual column of the first database object, wherein a DBMS defines the virtual column as containing results of an expression, and wherein the virtual column comprises values computed based on the expression; causing each slave process of said plurality of slave processes to perform a join between the first subset of data assigned to the slave process and the second subset of data assigned to the slave process.
-
-
9. A computer-readable storage medium storing instructions for partitioning a database object, the instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
dividing a database object into a plurality of partitions, wherein each individual partition of the plurality of partitions corresponds to a unique subset of values in a virtual column of the database object, wherein a DBMS defines the virtual column as containing results of an expression, and wherein the virtual column comprises values computed based on the expression. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium storing instructions for processing a statement that specifies a join between a first database object and a second database object based on a join key, where the first database object is partitioned based on the join key, the instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
distributing to each slave process of a plurality of slave processes a first subset of data from said first database object and a second subset of data from said second database object, wherein said first and second subsets of data that are distributed to each slave process are established based on the partitioning criteria used to partition said first object, wherein the join key is a virtual column of the first database object, wherein a DBMS defines the virtual column as containing results of an expression, and wherein the virtual column comprises values computed based on the expression; causing each slave process of said plurality of slave processes to perform a join between the first subset of data assigned to the slave process and the second subset of data assigned to the slave process.
-
Specification