Data access performance using decompression maps
First Claim
1. A computer-implemented method for decompressing data in a database system, comprising:
- receiving a query pertaining to a subset of data within a compressed set of data;
evaluating one or more decompression strategies by calculating a number of cycles needed for decompressing only a subset of columns within a row and comparing the calculated number of cycles with a number of cycles needed for decompressing all columns within the row, and applying an estimated filter factor to the calculated numbers;
selecting a low cost decompression strategy based on the results of the evaluation of the one or more decompression strategies;
locating, using a decompression map for each row, one or more bytes representing the requested subset of data within the compressed set of data, wherein the decompression map is stored as an array and describes the bytes representing a variable length column instance within the row, and wherein the subset of data includes one of;
a subset of columns in a row of a database table, a subset of columns or bytes within a row of the database table, and a subset of rows within a page of the database table; and
decompressing only a portion of the compressed data that corresponds to the subset of data, using the selected decompression strategy, while leaving the remaining set of data in a compressed state.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus, including computer program products, implementing and using techniques for decompressing data in a database system. A query is received, which pertains to a subset of data within a compressed set of data. One or more decompression strategies are evaluated using a cost model. The cost model includes an estimated filter factor. A low cost decompression strategy is selected based on the results of the evaluation of the one or more decompression strategies. One or more bytes representing the requested subset of data are located within the compressed set of data. Only a portion of the compressed data that corresponds to the subset of data is decompressed, using the selected decompression strategy, while leaving the remaining set of data in a compressed state.
27 Citations
6 Claims
-
1. A computer-implemented method for decompressing data in a database system, comprising:
-
receiving a query pertaining to a subset of data within a compressed set of data; evaluating one or more decompression strategies by calculating a number of cycles needed for decompressing only a subset of columns within a row and comparing the calculated number of cycles with a number of cycles needed for decompressing all columns within the row, and applying an estimated filter factor to the calculated numbers; selecting a low cost decompression strategy based on the results of the evaluation of the one or more decompression strategies; locating, using a decompression map for each row, one or more bytes representing the requested subset of data within the compressed set of data, wherein the decompression map is stored as an array and describes the bytes representing a variable length column instance within the row, and wherein the subset of data includes one of;
a subset of columns in a row of a database table, a subset of columns or bytes within a row of the database table, and a subset of rows within a page of the database table; anddecompressing only a portion of the compressed data that corresponds to the subset of data, using the selected decompression strategy, while leaving the remaining set of data in a compressed state. - View Dependent Claims (2, 3, 4, 5, 6)
-
Specification