Patent ID: 8762378

Claim:
A non-transitory computer program product storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising: receiving, by a recipient node of a multi-node data partitioning landscape comprising a plurality of processing nodes each comprising at least one data partition of a plurality of data partitions, a data request related to a table, the plurality of processing nodes comprising a master node controlling a plurality of slave nodes, the recipient node being a slave node, the data request bypassing the master node and being received directly from a requesting machine without being handled by the master node, wherein the table is partitioned into (i) at least two first level partitions at a first level that is based on a first partitioning method, and (ii) into two or more second-level partitions at a second level that is based on a second partitioning method that is the same for all of the at least two first level partitions; identifying, by the recipient node, a target node of the plurality of processing nodes to handle the data request, the target node being one of the slave nodes, the identifying comprising the recipient node (i) applying partitioning information to determine a target data partition of the plurality of data partitions to which the data request should be directed and (ii) mapping information associating each data partition of the plurality of data partitions with an assigned node of the plurality of processing nodes; and redirecting, by the recipient node, the data request to the target node so that the target node can act on the target data partition in response to the data request; wherein the data request comprises an update of a record already on the target data partition and wherein the operations further comprise: copying the record to a temporary partition on the target node; deleting the record from the target data partition; updating the record according to the data request to comprise an updated value; moving the updated record to a revised target partition based on the partitioning information applied to at least part of the updated value; and deleting the record from the temporary partition.