IP Library Granted Patent US 8,886,614
Granted Patent B2
US 8,886,614 · App. 11/563,280 · Granted Nov 11, 2014

Executing a join plan using data compression

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,886,614
App. No.
11/563,280
Granted
Nov 11, 2014
Kind
B2
Abstract

A join plan creates an intermediate table from two or more database tables within a database. In doing so, at least one projected and compressible column within one of the database tables is identified, where the column contains data values to which the application of a compression data transformation results in a reduction in the size of the data values. The frequency of occurrences of at least some unique values in the compressible column is identified, and then the two or more database tables are joined. The results of the join are then stored in the intermediate table such that the compression data transformation is applied to at least some of the unique values in the compressible column for which the frequency has been identified.

Claims (36)

1. A method of executing a join plan that creates an intermediate table from two or more database tables within a database, the method comprising:

identifying, by a processing module of a computer system, at least one projected and compressible column within one of the database tables to be joined by the join plan, the column containing data values to which the application of a compression data transformation results in a reduction in the size of the data values, wherein the database tables are stored on at least one data storage facility;

identifying, by the processing module, a frequency of occurrences of at least some unique values in the compressible column;

joining, by the processing module, the two or more database tables; and

storing, by the processing module, results of the join in the intermediate table such that the compression data transformation is applied to at least some of the unique values in the compressible column for which the frequency has been identified.

2. The method of claim 1 wherein the step of identifying the frequency of occurrences further comprises the steps of maintaining a value-count join index on the table and identifying the frequency of occurrences from the value-count join index.

3. The method of claim 1 wherein the step of identifying the frequency of occurrences further comprises the steps of:

identifying all unique values in the compressible column; and

counting the frequency of each unique value in the compressible column.

4. The method of claim 1 wherein the step of identifying the frequency of occurrences further comprises the steps of:

identifying up to a predetermined quantity of unique values in the compressible column, where the predetermined quantity of unique values in the compressible column is less than a total number of unique values in the compressible column; and

counting the frequency of the predetermined quantity of unique values in the compressible column.

5. The method of column 4 , further comprising the steps of: identifying a maximum number of unique values within the compressible column able to be compressed;

selecting a value for such that the predetermined quantity of unique values in the compressible column is less than or equal to the maximum number of unique values within the compressible column able to be compressed.

6. The method of claim 1 wherein the step of identifying the frequency of occurrences further comprises the steps of:

identifying the number of data values in the compressible column;

identifying a predetermined quantity of unique values within up to a predetermined percentage of the number of data values in the compressible column.

7. The method of column 6 , further comprising the steps of: identifying the maximum number of unique values within the compressible column able to be compressed;

selecting a value for the predetermined quantity of unique values in the compressible column such that the predetermined quantity of unique values in the compressible column is less than or equal to the maximum number of unique values within the compressible column able to be compressed.

8. The method of claim 1 wherein the compression data transformation is applied to the most frequently occurring unique values.

9. The method of claim 8 further comprising the steps of:

identifying the maximum number of unique values within the compressible column able to be compressed; and

applying the compression data transformation to the most frequently occurring unique values of the maximum number of unique values within the compressible column able to be compressed.

10. The method of claim 8 further comprising the steps of: identifying an optimal number of unique values within the compressible column to be compressed; and

applying the compression data transformation to the most frequently occurring unique values of the optimal number of unique values within the compressible column.

11. A system for executing a join plan that creates an intermediate table from two or more database tables within a database, where the system is configured to:

identify, by a processing module, at least one projected and compressible column within one of the database tables, the column containing data values to which the application of a compression data transformation results in a reduction in the size of the data values;

identify, by the processing module, the frequency of occurrences of at least some unique values in the compressible column;

join, by the processing module, the two or more database tables; and

store, by the processing module, the results of the join in the intermediate table such that the compression data transformation is applied to at least some of the unique values in the compressible column for which the frequency has been identified.

12. A computer program stored on tangible storage media comprising executable instructions for performing a method of executing a join plan that creates an intermediate table

from two or more database tables within a database, the method comprising:

identifying at least one projected and compressible column within one of the database tables, the column containing data values to which the application of a compression data transformation results in a reduction in the size of the data values;

identifying the frequency of occurrences of at least some unique values in the compressible column;

joining the two or more database tables; and

storing the results of the join in the intermediate table such that the compression data transformation is applied to at least some of the unique values in the compressible column for which the frequency has been identified.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2008
From: NCR CORPORATION
To: TERADATA US, INC.
Reel/Frame 020666/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2006
From: MORRIS, JOHN MARK; WALTER, TODD
To: NCR CORPORATION
Reel/Frame 018551/0306 →