1. A method performed by a computing device, the method comprising: receiving a set of multiple client-side data units individually having a client-side unit size from a client-side device, the multiple client-side data units individually being a part of a file revised at the client-side device; determining whether a total size of the set of multiple client-side data units is larger than a datastore blob target size of datastore blobs in a datastore; and in response to determining that the total size of the set of multiple client-side data units is greater than the datastore blob target size, identifying a first subset of the client-side data units that are new or revised in comparison with an existing version of the file in the datastore; determining a number of the client-side data units that are containable in a datastore blob without exceeding the datastore blob target size based on the client-side unit size and the datastore blob target size; generating one or more first datastore blobs by aggregating the determined number of multiple client-side data units from the identified first subset of new or edited client-side data units such that the generated one or more first datastore blobs individually having a size that approximates but not exceeding the datastore blob target size; storing the generated one or more first datastore blobs in the datastore; generating one or more second datastore blobs from a second subset of the client-side data units, the generated one or more second datastore blobs having corresponding copies already existing in the datastore; and updating a map in the datastore to indicate that a new version of the file contains the stored one or more first datastore blobs and the existing one or more second datastore blobs.