Page filtering via compression dictionary filtering
First Claim
1. A computer system comprising:
- one or more computer processors, one or more computer-readable storage media, and program instructions stored on one or more of the computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising;
program instructions to compress a page of a database table, whereby a compression dictionary is created, the compression dictionary comprising entries that include a byte sequence from the page and a compression symbol associated with the byte sequence;
program instructions to receive a part of the compressed page and the compression dictionary;
program instructions to receive a page symbol list, comprising compression symbols from the compression dictionary that are present in the part of the page;
program instructions to receive a query, wherein the query includes a predicate having a predicate value;
program instructions to generate a predicate symbol list for the predicate, comprising compression symbols in the compression dictionary whose associated byte sequences at least partially match the predicate value;
program instructions to generate a page symbol indicator data, indicating which compression symbols from the compression dictionary are present among the compression symbols in the page symbol list;
program instructions to generate a predicate symbol indicator data, indicating which compression symbols from the compression dictionary are present among the compression symbols in the predicate symbol list;
program instructions to determine, based on the page symbol indicator data and the predicate symbol indicator data, that at least one compression symbol from the predicate symbol list is also present in the part of the page;
program instructions to determine, based on the predicate symbol list and the page symbol list, that at least one compression symbol from the predicate symbol list is also present in the part of the page; and
program instructions to perform the query, whereby the predicate is evaluated on the part of the page.
1 Assignment
0 Petitions
Accused Products
Abstract
Page filtering in a database using a compression dictionary. A page of a database table is compressed, creating a compression dictionary. The compression dictionary includes entries with a byte sequence from the page and a compression symbol associated with the byte sequence. A part of the compressed page, the compression dictionary, and a page symbol list with compression symbols from the dictionary present in the part of the page, are received. A query having a predicate with a predicate value is received. A predicate symbol list, including symbols in the dictionary whose byte sequences at least partially match the predicate value, is generated. Based on the predicate symbol list and the page symbol list, it is determined that at least one symbol from the predicate symbol list is also present in the part of the page. The query is performed by evaluating the predicate on the part of the page.
38 Citations
11 Claims
-
1. A computer system comprising:
-
one or more computer processors, one or more computer-readable storage media, and program instructions stored on one or more of the computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising; program instructions to compress a page of a database table, whereby a compression dictionary is created, the compression dictionary comprising entries that include a byte sequence from the page and a compression symbol associated with the byte sequence; program instructions to receive a part of the compressed page and the compression dictionary; program instructions to receive a page symbol list, comprising compression symbols from the compression dictionary that are present in the part of the page; program instructions to receive a query, wherein the query includes a predicate having a predicate value; program instructions to generate a predicate symbol list for the predicate, comprising compression symbols in the compression dictionary whose associated byte sequences at least partially match the predicate value; program instructions to generate a page symbol indicator data, indicating which compression symbols from the compression dictionary are present among the compression symbols in the page symbol list; program instructions to generate a predicate symbol indicator data, indicating which compression symbols from the compression dictionary are present among the compression symbols in the predicate symbol list; program instructions to determine, based on the page symbol indicator data and the predicate symbol indicator data, that at least one compression symbol from the predicate symbol list is also present in the part of the page; program instructions to determine, based on the predicate symbol list and the page symbol list, that at least one compression symbol from the predicate symbol list is also present in the part of the page; and program instructions to perform the query, whereby the predicate is evaluated on the part of the page. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product comprising:
-
one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising; program instructions to compress a page of a database table, whereby a compression dictionary is created, the compression dictionary comprising entries that include a byte sequence from the page and a compression symbol associated with the byte sequence; program instructions to receive a part of the compressed page and the compression dictionary; program instructions to receive a page symbol list, comprising compression symbols from the compression dictionary that are present in the part of the page; program instructions to receive a query, wherein the query includes a predicate having a predicate value; program instructions to generate a predicate symbol list for the predicate, comprising compression symbols in the compression dictionary whose associated byte sequences at least partially match the predicate value; program instructions to generate a page symbol indicator data, indicating which compression symbols from the compression dictionary are present among the compression symbols in the page symbol list; program instructions to generate a predicate symbol indicator data, indicating which compression symbols from the compression dictionary are present among the compression symbols in the predicate symbol list; program instructions to determine, based on the page symbol indicator data and the predicate symbol indicator data, that at least one compression symbol from the predicate symbol list is also present in the part of the page; program instructions to determine, based on the predicate symbol list and the page symbol list, that at least one compression symbol from the predicate symbol list is also present in the part of the page; and program instructions to perform the query, whereby the predicate is evaluated on the part of the page. - View Dependent Claims (8, 9, 10, 11)
-
Specification