A computer-implemented method, comprising: receiving, by a processor, a data mapping describing an association between one or more fields of a data storage location of a data source (102A, 102B, 102C, 104A, 104B, 104C) and one or more fields of a data storage location of a target destination (102A, 102B, 102C, 104A, 104B, 104C); analyzing at least one of the data from the data source (102A, 102B, 102C, 104A, 104B, 104C), metadata describing the data from the data source, and logical and physical storage characteristics associated with the data from the data source to dynamically detect partitions associated with said data, said partitions comprising physical and/or logical partitions; determining a degree of parallelism to use when transferring the data between the data source (102A, 102B, 102C, 104A, 104B, 104C) and the target destination (102A, 102B, 102C, 104A, 104B, 104C) based on the dynamically detected partitions, generating, by the processor, a data transfer execution plan from the data mapping to transfer data from the data source (102A, 102B, 102C, 104A, 104B, 104C) to the target destination (102A, 102B, 102C, 104A, 104B, 104C), the data transfer execution plan comprising the determined degree of parallelism to use when transferring the data from the data storage location of the data source (102A, 102B, 102C, 104A, 104B, 104C) to the data storage location of the target destination (102A, 102B, 102C, 104A, 104B, 104C); and transferring, by the processor, the data from the data storage location of the data source (102A, 102B, 102C, 104A, 104B, 104C) to the data storage location of the target destination (102A, 102B, 102C, 104A, 104B, 104C) using the generated data transfer execution plan. receiving, by a processor, a data mapping describing an association between one or more fields of a data storage location of a data source (102A, 102B, 102C, 104A, 104B, 104C) and one or more fields of a data storage location of a target destination (102A, 102B, 102C, 104A, 104B, 104C); analyzing at least one of the data from the data source (102A, 102B, 102C, 104A, 104B, 104C), metadata describing the data from the data source, and logical and physical storage characteristics associated with the data from the data source to dynamically detect partitions associated with said data, said partitions comprising physical and/or logical partitions; determining a degree of parallelism to use when transferring the data between the data source (102A, 102B, 102C, 104A, 104B, 104C) and the target destination (102A, 102B, 102C, 104A, 104B, 104C) based on the dynamically detected partitions, generating, by the processor, a data transfer execution plan from the data mapping to transfer data from the data source (102A, 102B, 102C, 104A, 104B, 104C) to the target destination (102A, 102B, 102C, 104A, 104B, 104C), the data transfer execution plan comprising the determined degree of parallelism to use when transferring the data from the data storage location of the data source (102A, 102B, 102C, 104A, 104B, 104C) to the data storage location of the target destination (102A, 102B, 102C, 104A, 104B, 104C); and transferring, by the processor, the data from the data storage location of the data source (102A, 102B, 102C, 104A, 104B, 104C) to the data storage location of the target destination (102A, 102B, 102C, 104A, 104B, 104C) using the generated data transfer execution plan.