1. A non-transitory computer-readable storage device storing data for access by an application executed on a data processing system, the storage device comprising: a data structure stored on the storage device and usable by the application, the data structure including: an encoding dictionary that stores entries, each entry having a value and a respective value identifier; a decoding dictionary that stores the entries, including the values and the value identifiers; and an attribute vector that stores the value identifiers and a cross-referencing index for each value identifier; wherein: the entries in the encoding dictionary are ordered according to the values; the entries in the decoding dictionary are ordered according to the value identifiers; and the cross-referencing index identifies corresponding characteristics across attribute vectors.