A method of managing data, the method comprising the steps of: maintaining a plurality of persistent data items on persistent storage (150, 152) accessible to a plurality of nodes, wherein said persistent data items include a first persistent data item and a second persistent data item; assigning ownership of each of the persistent data items to one of the nodes by assigning each data item to one of a plurality of buckets, wherein said first persistent data item is assigned to a first bucket and said second persistent data item is assigned to a second bucket, wherein said first bucket is different from said second bucket; and assigning each bucket to one of a plurality of partitions, wherein each of the partitions is assigned to a corresponding node of the plurality of nodes; wherein the node to which a partition is assigned is established to be the owner of all data items that reside in the partition; when a particular node wants an operation performed that involves a data item owned by another node, the particular node ships the operation to the other node for the other node to perform the operation; and reassigning from a first node to a second node ownership of all data items that are mapped to a bucket, wherein both the first node and the second node have access to the persistent storage (150, 152) on which the data items of the bucket reside, and the ownership change is performed without moving the data items of the bucket from their persistent locations on the persistent storage (150, 152). maintaining a plurality of persistent data items on persistent storage (150, 152) accessible to a plurality of nodes, wherein said persistent data items include a first persistent data item and a second persistent data item; assigning ownership of each of the persistent data items to one of the nodes by assigning each data item to one of a plurality of buckets, wherein said first persistent data item is assigned to a first bucket and said second persistent data item is assigned to a second bucket, wherein said first bucket is different from said second bucket; and assigning each bucket to one of a plurality of partitions, wherein each of the partitions is assigned to a corresponding node of the plurality of nodes; wherein the node to which a partition is assigned is established to be the owner of all data items that reside in the partition; assigning each data item to one of a plurality of buckets, wherein said first persistent data item is assigned to a first bucket and said second persistent data item is assigned to a second bucket, wherein said first bucket is different from said second bucket; and assigning each bucket to one of a plurality of partitions, wherein each of the partitions is assigned to a corresponding node of the plurality of nodes; wherein the node to which a partition is assigned is established to be the owner of all data items that reside in the partition; when a particular node wants an operation performed that involves a data item owned by another node, the particular node ships the operation to the other node for the other node to perform the operation; and reassigning from a first node to a second node ownership of all data items that are mapped to a bucket, wherein both the first node and the second node have access to the persistent storage (150, 152) on which the data items of the bucket reside, and the ownership change is performed without moving the data items of the bucket from their persistent locations on the persistent storage (150, 152).