1. A computer system for data partitioning, the computer system comprising: a memory; and a computer processor to: generate a user defined data partitioning key to configure data partitions of original data, the user defined data partitioning key generated based upon a computational model applied to the original data, the user defined data partitioning key to include at least one key property of the computational model, the at least one key property is excluded from the original data, and the user defined data partitioning key is generated or learnt from the original data based on an application; and allocate the data partitions to co-locate the data partitions and corresponding processing of computations associated with the computational model.