OLTP compression of wide tables
First Claim
Patent Images
1. A method comprising steps of:
- a database server storing a plurality of rows in a plurality of data blocks, wherein storing said plurality of data blocks includes;
compressing said plurality of rows in said plurality of data blocks using token dictionary compression and a plurality of token dictionaries; and
wherein said plurality of rows includes a plurality of segmented rows, each segmented row of said plurality of segmented rows comprising a plurality of chained row segments, each row segment of said plurality of chained row segments containing one or more column values of said each segmented row;
wherein each data block of said plurality of data blocks stores a respective token dictionary of said plurality of token dictionaries that maps tokens only to column values stored in said each data block;
wherein a particular segmented row of particular segmented rows in a first data block of said plurality of data blocks comprises a first row segment stored in said first data block and a second row segment that is stored in a second data block of said plurality of data blocks, wherein said first row segment is stored in association with a row segment link that refers to said second row segment and that is stored in said first data block;
wherein said first row segment is encoded according to the respective token dictionary stored in said first data block and wherein said second row segment is encoded according to the respective token dictionary stored in said second data block.
1 Assignment
0 Petitions
Accused Products
Abstract
A data block stores one or more rows of a database table or relation. An entire row may not fit in a data block. Part of the row is stored in one data block, and another part is stored in another data block. Each row part is referred to herein as a row segment and the data blocks are referred to as row-segmented data blocks. Data block dictionary compression is used to compress row-segmented data blocks. Each data block contains a dictionary that is used to compress rows in the data block, including row segments. The dictionary in a data block is used to compress row segments in the data block. Hence, multiple dictionaries may be used to decompress a row comprised of row segments.
-
Citations
8 Claims
-
1. A method comprising steps of:
-
a database server storing a plurality of rows in a plurality of data blocks, wherein storing said plurality of data blocks includes; compressing said plurality of rows in said plurality of data blocks using token dictionary compression and a plurality of token dictionaries; and wherein said plurality of rows includes a plurality of segmented rows, each segmented row of said plurality of segmented rows comprising a plurality of chained row segments, each row segment of said plurality of chained row segments containing one or more column values of said each segmented row; wherein each data block of said plurality of data blocks stores a respective token dictionary of said plurality of token dictionaries that maps tokens only to column values stored in said each data block; wherein a particular segmented row of particular segmented rows in a first data block of said plurality of data blocks comprises a first row segment stored in said first data block and a second row segment that is stored in a second data block of said plurality of data blocks, wherein said first row segment is stored in association with a row segment link that refers to said second row segment and that is stored in said first data block; wherein said first row segment is encoded according to the respective token dictionary stored in said first data block and wherein said second row segment is encoded according to the respective token dictionary stored in said second data block. - View Dependent Claims (2, 3, 4)
-
-
5. A non-transitory computer-readable medium storing one or more instructions which when executed by one or more processors cause:
-
a database server storing a plurality of rows in a plurality of data blocks, wherein storing said plurality of data blocks includes; compressing said plurality of rows in said plurality of data blocks using token dictionary compression and a plurality of token dictionaries; and wherein said plurality of rows includes a plurality of segmented rows, each segmented row of said plurality of segmented rows comprising a plurality of chained row segments, each row segment of said plurality of chained row segments containing one or more column values of said each segmented row; wherein each data block of said plurality of data blocks stores a respective token dictionary of said plurality of token dictionaries that maps tokens only to column values stored in said each data block; wherein a particular segmented row of a particular segmented rows in a first data block of said plurality of data blocks comprises a first row segment stored in said first data block and a second row segment that is stored in a second data block of said plurality of data blocks, wherein said first row segment is stored in association with a row segment link that refers to said second row segment and that is stored in said first data block; wherein said first row segment is encoded according to the respective token dictionary stored in said first data block and wherein said second row segment is encoded according to the respective token dictionary stored in said second data block. - View Dependent Claims (6, 7, 8)
-
Specification