1. A method for backing up data, comprising: at a first computer: breaking down a specified data set to be backed up into a plurality of data blocks; generating for each data block a corresponding data block digest and associated metadata comprising data block information; and associating each data block digest and associated metadata with the corresponding data block; and comparing a first generated data block digest for a selected data block in the specified data set to be backed up with data block digests stored in a remote database storage device and associated with backed up data blocks stored in the remote database storage device to determine whether the selected data block is already backed up; upon determining that the first generated data block digest is not equal to any of the data block digests of the backed up data blocks stored in the remote database storage device, storing the selected data block, the associated first generated data block digest, and the associated metadata in the remote database storage device, wherein storing the associated metadata comprises storing in the remote database storage device at least one timestamp associated with the selected data block in the specified data set to be backed up; and upon determining that the first generated data block digest is equal to one of the data block digests of the backed up data blocks stored in the remote database storage device, updating metadata associated with the data block already stored in the remote database storage device with the generated metadata, wherein updating metadata associated with the data block already stored in the remote database storage device with the generated metadata comprises updating the at least one timestamp associated with the data block already stored in the remote database storage device with the generated metadata.