A computer-implemented database comprising: a dictionary storing associations between keys and data; and an index, each entry in the index including a plurality of values corresponding to data; values in a given entry of the index each including a respective representation of corresponding data based on data type of the corresponding data, wherein (i) the value of the index includes a direct representation of the corresponding data when the data type of the corresponding data is one of certain data types, and (ii) the value of the index includes a hash of the corresponding data when the data type of the corresponding data is one of other data types, the hash used in the dictionary as a key associated with the corresponding data, wherein a first number of bits of the given index value represent a category of data represented by the given index value, in the case where the category of data represented by the first number of bits (210, 215) of the given index value is a blank category, the remaining bits of the given index value not belonging to the first number of bits is blank, in the case where the category of data represented by the first number of bits (230, 235) of the given index value is a literal value category, a second number of bits of the given index value represent a data type of the literal value, and remaining bits of the given index value store the literal value of the data, the remaining bits being bits of the index not belonging to the first number of bits or the second number of bits, in the case where the category of data represented by the first number of bits (255, 260) of the given index value is a Universally Unique Identifier (UUID) category, and the remaining bits of the given index value not belonging to the first number of bits store the data as a UUID, and in the case where the category of data represented by the first number of bits (275, 280) of the given index value is a dictionary lookup category, and the remaining bits of the given index value not belonging to the first number of bits store a hash of the data used in the dictionary as a key associated with the corresponding data. a dictionary storing associations between keys and data; and an index, each entry in the index including a plurality of values corresponding to data; values in a given entry of the index each including a respective representation of corresponding data based on data type of the corresponding data, wherein (i) the value of the index includes a direct representation of the corresponding data when the data type of the corresponding data is one of certain data types, and (ii) the value of the index includes a hash of the corresponding data when the data type of the corresponding data is one of other data types, the hash used in the dictionary as a key associated with the corresponding data, wherein a first number of bits of the given index value represent a category of data represented by the given index value, in the case where the category of data represented by the first number of bits (210, 215) of the given index value is a blank category, the remaining bits of the given index value not belonging to the first number of bits is blank, in the case where the category of data represented by the first number of bits (230, 235) of the given index value is a literal value category, a second number of bits of the given index value represent a data type of the literal value, and remaining bits of the given index value store the literal value of the data, the remaining bits being bits of the index not belonging to the first number of bits or the second number of bits, in the case where the category of data represented by the first number of bits (255, 260) of the given index value is a Universally Unique Identifier (UUID) category, and the remaining bits of the given index value not belonging to the first number of bits store the data as a UUID, and in the case where the category of data represented by the first number of bits (275, 280) of the given index value is a dictionary lookup category, and the remaining bits of the given index value not belonging to the first number of bits store a hash of the data used in the dictionary as a key associated with the corresponding data.