Patent ID: 7769729

Claim:
A 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: compressing a column of data in accordance with dictionary-based compression, the compressing comprising generating a column of value identifiers, each of the value identifiers representing a unique value in the column of data; sorting the value identifiers to form a plurality of blocks of value identifiers; for each block of the value identifiers, generating a first list of block identifiers, the generating comprising: having a unique block identifier for each unique value identifier in a block, and having like block identifiers for like value identifiers; generating columns of block dictionaries, the generating the columns of the block dictionaries comprising for each block, generating a block dictionary, the block dictionary comprising: a second list of block identifiers, each block identifier associated with a value identifier, and a block identifier existing in the block dictionary for each unique value of the block identifiers in the second list; and generating a block offset column, each value of the block offset column indicating an offset at which a block starts in the columns of the block dictionaries; wherein changes to the column of the data are stored in a delta buffer separate from the column of the data and the changes are integrated asynchronously.