FAST QUERY PROCESSING IN COLUMNAR DATABASES WITH GPUS
1 Assignment
0 Petitions
Accused Products
Abstract
According to one exemplary embodiment, a method for processing a query associated with a database is provided. The method may include receiving the query. The method may include estimating a number of groups. The method may include copying a plurality of data from the database to graphics processing unit (GPU) memory. The method may include creating a hash table in GPU memory. The method may include determining if a group associated with the database is present in the hash table. The method may include adding the group to the hash table based on determining that the group is not present in the hash table. The method may include aggregating a value associated with the group in the hash table based on determining that the group is present in the hash table. The method may include determining a plurality of results. The method may then include retrieving the plurality of results.
-
Citations
20 Claims
-
1-7. -7. (canceled)
-
8. A computer system for processing a query associated with a database, comprising:
-
one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage medium, and program instructions stored on at least one of the one or more tangible storage medium for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method comprising; receiving the query; estimating a number of groups based on the received query and the database; copying a plurality of data from the database to graphics processing unit (GPU) memory associated with a GPU; creating a global hash table in GPU memory based on the estimated number of groups; determining if a group associated with the database is present in the global hash table; adding the group to the global hash table based on determining that the group is not present in the global hash table; aggregating a value associated with the group in the global hash table based on determining that the group is present in the global hash table; determining a plurality of results based on the received query and the global hash table; and retrieving the determined plurality of results. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product for processing a query associated with a database, comprising:
-
one or more computer-readable storage medium and program instructions stored on at least one of the one or more tangible storage medium, the program instructions executable by a processor, the program instructions comprising; program instructions to receive the query; program instructions to estimate a number of groups based on the received query and the database; program instructions to copy a plurality of data from the database to graphics processing unit (GPU) memory associated with a GPU; program instructions to create a global hash table in GPU memory based on the estimated number of groups; program instructions to determine if a group associated with the database is present in the global hash table; program instructions to add the group to the global hash table based on determining that the group is not present in the global hash table; program instructions to aggregate a value associated with the group in the global hash table based on determining that the group is present in the global hash table; program instructions to determine a plurality of results based on the received query and the global hash table; and program instructions to retrieve the determined plurality of results. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification