1. A method of data distribution in a distributed data storage system, the distributed data storage system storing a set of data items across a plurality of physically distinct computers, each physically distinct computer managing a subset of the data items, the method comprising: defining at least one metric space associated with the distributed data storage system; defining within the one metric space a number of hyper-spheres, each of the defined hyper-spheres having a center and radius, data points representing corresponding data items, and an association with one or more of the physically distinct computers; calculating a distance from a specified data point, corresponding to a specified data item to be stored in the distributed data storage system, to a center of each of the defined hyper-spheres; and selecting at least one physically distinct computer for storage of the specified data item based on which of the hyper-sphere centers is closest to the specified data point.