Patent ID: 8032499
Filing Date: 2011-10-04
Classification: G06F,H03M

Abstract:
1. A non-transitory computer program product, tangibly embodied in a computer-readable storage medium, the computer program product being operable to cause data processing apparatus to perform operations comprising: generating columns of dictionary-based compression values, the columns of dictionary-based compression values being based on a dictionary of possible values for each column of a column-based database and being structured business data; sorting the columns such that a first column ordered first in an ordering of the columns has a most-frequently occurring value of the first column occurring more frequently than frequently-occurring values of other columns; sorting the first column such that instances of the most-frequently occurring value of the first column are at one end of the first column; sorting at least one of the other columns such that instances of most-frequently occurring values of the at least one other column are towards ends of the respective other columns; generating a bit vector for at least one of the columns, each of the bit vectors representing most-frequently occurring values of a respective column, the generating comprising having each bit of the bit vector represent whether the most-frequently occurring value exists if the most-frequently occurring value exists in a respective row of the respective column; generating a number for each of the columns having an associated bit vector, the number representing an amount of occurrences of the most-frequently occurring value of one end of the column; removing from each of the bit vectors a representation of the most-frequently occurring value of one end of the respective column based on the number associated with the bit vector; storing the one or more numbers for each of the one or more bit vectors to enable non-volatile memory searches of the data represented by each of the numbers and the bit vectors, wherein changes to the dictionary-based compression values of the columns are stored in a delta buffer separate from the columns and the changes are integrated asynchronously, and wherein searching for data comprises searching both the delta buffer and compressed data comprising the columns of dictionary-based compression values.