CPC G06F 16/2453 (2019.01) | 20 Claims |
1. A data processing system comprising:
a processor; and
a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor alone or in combination with other processors, cause the data processing system to perform functions of:
receiving a query to be executed on a column-oriented database, the query being received from a client application, the column-oriented database including a plurality of columns, each of the columns including a number k of values, wherein the values are encoded using a data compression scheme such that each of the values is represented by an encoded value having a number n of bits, all encoded values for a column being stored contiguously with respect to each other in a predetermined location in the memory;
processing the query to identify which encoded values of the column data are to be accessed for the query using a database management system for the column-oriented database;
generating a select bitmap having the number k of bits wherein each bit represents a different encoded value of the column using the database management system, the select bitmap being generated such that each bit representing an encoded value of the column that is to be accessed for the query has a first value and each bit representing an encoded value of the column that is not to be accessed for the query has a second value;
extracting, using the database management system, the encoded values of the column from the memory which is represented by a bit in the select bitmap having the first value;
decoding, using the database management system, the extracted encoded values to generate decoded query data;
processing the decoded query data based on the query to generate result data; and
returning the result data to the client application.
|