1. A method for retrieving data from a data structure, the method comprising: receiving, by a computer processor, a query for the data; searching, by the computer processor, for the data in an encoding dictionary of the data structure, a first copy of the encoding dictionary stored both in a main store, and a second copy of the encoding dictionary stored in a differential buffer; responsive to finding a matching value for the data in the encoding dictionary, determining, by the computer processor, a value identifier (valueID) corresponding to the matching value based on lookup in the encoding dictionary, each valueID specifying a location in a table of a corresponding record; determining, by the computer processor, all positions corresponding to the valueID in at least one attribute vector of the data structure, the at least one attribute vector stored in an index; retrieving, by the computer processor, additional valueIDs corresponding to the determined positions in other attribute vectors of the data structure; storing, by the computer processor, all of the valueIDs corresponding to the determined positions; looking up, by the computer processor, the stored valueIDs in a decoding dictionary of the data structure; and returning, by the computer processor, all results corresponding to the stored valueIDs.