Oltp compression of wide tables
AssigneeOracle International Corporation
InventorsVineet Marwah, Ajit Mylavarapu, Amit Ganesh
Life of this patent
Estimating the term…
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.
Claims18
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 segmented rows, each segmented row of said 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.
A method, comprising:
- a database server inserting a row into a database table, wherein inserting a row into a database table comprises:
- storing a first row segment of said row in a first data block, said storing a first row segment of said row in a first data block comprising:
- compressing one or more column values contained in said first row segment according to a first token dictionary stored in said first data block;
- and
- storing a second row segment of said row into a second data block, said storing comprising compressing one or more column values contained in said second row segment according to a second token dictionary stored in said second data block.
A non-transitory computer-readable medium storing one or more instructions which when executed by one or more processors cause the one or more processors to perform steps comprising:
- 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 segmented rows, each segmented row of said 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.
A non-transitory computer-readable medium storing one or more instructions which when executed by one or more processors cause the one or more processors to perform steps comprising:
- a database server inserting a row into a database table, wherein inserting a row into a database table comprises:
- storing a first row segment of said row in a first data block, said storing a first row segment of said row in a first data block comprising:
- compressing one or more column values contained in said first row segment according to a first token dictionary stored in said first data block;
- and
- storing a second row segment of said row into a second data block, said storing comprising compressing one or more column values contained in said second row segment according to a second token dictionary stored in said second data block.
Dependencies are inferred from the claim text.