Patent ID: 8229902

Claim:
A method for managing data, the method including: receiving individually accessible data units, each data unit identified by a respective key value; storing a first set of blocks of data, each of one or more of the blocks in the first set of blocks being generated by compressing a plurality of the data units; and providing a first index that includes an entry for each of the blocks of the first set of blocks, wherein one or more of the entries enable location, based on a provided key value, of a block that includes data units corresponding to a range of key values that includes the provided key value; receiving additional individually accessible data units after compressing the data units of the first set of blocks, each additional data unit identified by a respective key value; storing a second set of blocks of data, each of at least some of the blocks in the second set of blocks being generated by compressing a plurality of the additional data units; providing a second index that includes an entry for each of the blocks of the second set of blocks; and managing a set of multiple indices, including the first index and the second index, for searching for data units within multiple sets of blocks, including the first set of blocks and the second set of blocks, wherein the managing includes generating a third index to replace the first and second index for searching within the first set of blocks and the second set of blocks based on whether key values identifying the data units are monotonically assigned.