A system(1) comprises a plurality of data structures. Each of the data structures comprises an association to a disjoint key range Ri = [k_i,k_{i+1}), where k_i is an ordered sequence arranged to be held in an internal memory (3) key range index. The system is arranged to allow membership queries for a key within the system to be performed by searching the key range index for the unique range Ri containing the key, and then querying the data structure associated with the range Ri for membership of the key.