Patent ID: 9342544
Filing Date: 2016-05-17
CPC Classification: G06F,H03M

Claim Text:
1. A method, comprising: adding, by a computer processor, two or more compressed columns to one or more pages of a database, wherein the adding is performed in parallel by a plurality of page-formatter threads, and wherein each page-formatter thread adds data to the database from no more than a single compressed column; building a plurality of sets of data value frequencies based on a plurality of columns of input data, wherein the building is performed by a plurality of builder threads, wherein each of the plurality of builder threads is assigned to a corresponding one of the columns at a given time and is configured to build a corresponding set of data value frequencies for the corresponding column, and wherein two or more builder threads process a first column of the input data creating a plurality of compression dictionaries, comprising a corresponding compression dictionary for each of the plurality of columns; generating the two or more compressed columns for the database by compressing each of the columns according to the corresponding compression dictionary; applying a hash partitioning to divide data of the first column into two or more portions; applying the hash partitioning to the corresponding set of data value frequencies of the first column to divide the corresponding set of data value frequencies into two or more portions; assigning a first builder thread to process the first portion of the first column; and assigning a second builder thread to process the second portion of the first column, wherein the second builder thread is distinct from the first builder thread.