OFFLOADING PROJECTION OF FIXED AND VARIABLE LENGTH DATABASE COLUMNS
First Claim
1. A system comprising:
- a query recipient configured to determine that a database query warrants a first projection operation to project a plurality of input rows to a plurality of projected rows, wherein each of the plurality of input rows has one or more variable-length columns;
a projection controller configured to;
construct a first projection control block to describe the first projection operation, wherein to construct the first projection control block, the projection controller is further configured to;
construct a plurality of projection control elements, each projection control element corresponding to a corresponding column in the plurality of input rows; and
construct a header to specify the order of the projection control elements in the first projection control block;
offload the first projection operation to a hardware accelerator; and
provide the first projection control block to the hardware accelerator, wherein the first projection control block enables the hardware accelerator to perform the first projection operation at streaming rate.
1 Assignment
0 Petitions
Accused Products
Abstract
In some embodiments, a query recipient is configured to determine that a database query warrants a first projection operation to project a plurality of input rows to a plurality of projected rows. Each of the input rows has one or more variable-length columns. A projection controller is configured to construct a first projection control block to describe the first projection operation. For this construction, the projection controller is configured to construct a plurality of projection control elements, each one corresponding to a corresponding column in the input rows, and a header to specify the order of the projection control elements. The projection controller is further configured to offload the first projection operation to a hardware accelerator, and to provide the first projection control block to the hardware accelerator, where the first projection control block enables the hardware accelerator to perform the first projection operation at streaming rate.
-
Citations
12 Claims
-
1. A system comprising:
-
a query recipient configured to determine that a database query warrants a first projection operation to project a plurality of input rows to a plurality of projected rows, wherein each of the plurality of input rows has one or more variable-length columns; a projection controller configured to; construct a first projection control block to describe the first projection operation, wherein to construct the first projection control block, the projection controller is further configured to; construct a plurality of projection control elements, each projection control element corresponding to a corresponding column in the plurality of input rows; and construct a header to specify the order of the projection control elements in the first projection control block; offload the first projection operation to a hardware accelerator; and provide the first projection control block to the hardware accelerator, wherein the first projection control block enables the hardware accelerator to perform the first projection operation at streaming rate. - View Dependent Claims (5, 6)
-
-
7. A computer program product comprising a computer readable storage medium having computer readable program code embodied thereon, the computer readable program code executable by a processor to perform a method comprising:
-
determining that a database query warrants a first projection operation to project a plurality of input rows to a plurality of projected rows, wherein each of the plurality of input rows has one or more variable-length columns; constructing, by a computer processor, a first projection control block to describe the first projection operation, wherein constructing the first projection control block comprises; constructing a plurality of projection control elements, each projection control element corresponding to a distinct column in the plurality of input rows; and constructing a header to specify the order of the projection control elements in the first projection control block; offloading the first projection operation to a hardware accelerator; and providing the first projection control block to the hardware accelerator, wherein the first projection control block enables the hardware accelerator to perform the first projection operation at streaming rate. - View Dependent Claims (2, 3, 4, 8, 9, 10, 11, 12)
-
Specification