A computer-implemented method for processing data in a data managing system comprising at least one staging area into which data can be loaded, characterised in that the method comprises: executing the following source data loading process at least once for a data type of source data: loading source data from a data source storing source data as rows of data, wherein the loaded amount of source data constitutes a bucket and wherein the bucket comprises at least one row of data; creating a new partition in a staging area for the bucket; determining a unique identifier for the bucket, the unique identifier being unique among buckets of the same data type or among all buckets of all data types; assigning a partition identifier for the partition, the partition identifier comprising the unique identifier of the bucket; tagging each row of data in the bucket with the unique identifier; storing the bucket in the partition identified by the partition identifier; and generating bucket metadata for the bucket, the bucket metadata determining properties for the bucket stored in the partition, executing the following delivery process at least once for a bucket, the delivery process acting as a bucket deliverer having associated metadata: selecting a bucket stored by the loading process in a partition of a staging area; delivering the selected bucket to a target system; and updating in bucket deliverer's metadata that the delivery process has finished processing the bucket; executing the following cleaning process at predefined time intervals for a bucket; checking, from the bucket metadata of a bucket, whether the bucket has been processed by all delivery processes processing the bucket; dropping the partition containing the bucket, when all delivery processes processing the bucket have processed the bucket; and updating in the bucket metadata that the bucket has been dropped. wherein the loading process, the delivery process and the cleaning process are executed asynchronously. executing the following source data loading process at least once for a data type of source data: loading source data from a data source storing source data as rows of data, wherein the loaded amount of source data constitutes a bucket and wherein the bucket comprises at least one row of data; creating a new partition in a staging area for the bucket; determining a unique identifier for the bucket, the unique identifier being unique among buckets of the same data type or among all buckets of all data types; assigning a partition identifier for the partition, the partition identifier comprising the unique identifier of the bucket; tagging each row of data in the bucket with the unique identifier; storing the bucket in the partition identified by the partition identifier; and generating bucket metadata for the bucket, the bucket metadata determining properties for the bucket stored in the partition, loading source data from a data source storing source data as rows of data, wherein the loaded amount of source data constitutes a bucket and wherein the bucket comprises at least one row of data; creating a new partition in a staging area for the bucket; determining a unique identifier for the bucket, the unique identifier being unique among buckets of the same data type or among all buckets of all data types; assigning a partition identifier for the partition, the partition identifier comprising the unique identifier of the bucket; tagging each row of data in the bucket with the unique identifier; storing the bucket in the partition identified by the partition identifier; and generating bucket metadata for the bucket, the bucket metadata determining properties for the bucket stored in the partition, executing the following delivery process at least once for a bucket, the delivery process acting as a bucket deliverer having associated metadata: selecting a bucket stored by the loading process in a partition of a staging area; delivering the selected bucket to a target system; and updating in bucket deliverer's metadata that the delivery process has finished processing the bucket; selecting a bucket stored by the loading process in a partition of a staging area; delivering the selected bucket to a target system; and updating in bucket deliverer's metadata that the delivery process has finished processing the bucket; executing the following cleaning process at predefined time intervals for a bucket; checking, from the bucket metadata of a bucket, whether the bucket has been processed by all delivery processes processing the bucket; dropping the partition containing the bucket, when all delivery processes processing the bucket have processed the bucket; and updating in the bucket metadata that the bucket has been dropped. checking, from the bucket metadata of a bucket, whether the bucket has been processed by all delivery processes processing the bucket; dropping the partition containing the bucket, when all delivery processes processing the bucket have processed the bucket; and updating in the bucket metadata that the bucket has been dropped.