1. A system, comprising: a data store that stores a plurality of objects, wherein at least some of the plurality of objects comprise a same user key and different version identifiers; one or more processors; a memory coupled to the one or more processors and storing program instructions that when executed by the one or more processors cause the one or more processors to perform: receiving a request directed to an object from the data store, wherein the request specifies a user key for the object; and in response to receiving the request directed to the object: determining whether the request specifies a particular object version for the object having the specified user key; in response to determining the request specifies a particular object version identifier for the object, performing the request for the object having the specified user key and the specified particular object version identifier; and in response to determining the request does not specify a particular object version for the object, performing the request for an object version of the object with the specified user key having a latest object version identifier.