1. A database controller for a database of information encoded as a set of data items distributed among a plurality of storage units distinguishable from one another by respective identifying information and each data item comprising a value of each of two or more data elements, the set of data items having a prescribed order of the two or more data elements of which the first one or two data elements are assigned as a prefix portion, the database controller comprising: a query receiving module configured to receive a range query specifying a value of the or each of one or more data elements as a search prefix portion which each data item returned as a range query result must include in its prefix portion; an ordered list storage module configured to store an ordered list comprising, for each of the data items from the set of data items individually, the identifying information of the storage unit upon which the data item is stored, the order of the identifying information being determined by an ordering metric applied to the prefix portions of the respective data items; a prefix frequency storage module configured to maintain a frequency record, recording the values of the data elements assigned as prefix portions of the set of data items and the number of data items having each prefix portion; a list position calculating module configured to calculate, based on the frequency record, the one or more list positions in the ordered list at which the identifying information of storage units upon which data items including the search prefix portion in their prefix portion are stored; and a result retrieving module configured to request the data items including the search prefix portion in their prefix portion from the storage units identified in the calculated one or more list positions.