Cost effective storage management
Cost-effective storage management including identifying, by a remote storage consumer, one or more of portions of one or more source objects stored at a remote storage resources; issuing, by the remote storage consumer, a command to the remote storage resources configured to cause the remote storage resources to create a new object comprising the one or more of portions of the one or more source objects; and updating, at the remote storage consumer, a mapping data structure to reference the new object.
1. A method comprising:
identifying, by a processing device of a consumer of a cloud object store service external to the consumer, one or more source objects currently stored at the cloud object store service, the one or more source objects having a first set of portions that are to be maintained by the cloud object store service and a second set of portions that are to be deleted by the cloud object store service;
providing, by the consumer, identifiers of the first set of portions and a first command to the cloud object store service configured to cause the cloud object store service to create a new object comprising the first set of portions of the one or more source objects that are currently stored at the cloud object store service, wherein the new object is created by the cloud object store service while bypassing sending the first set of portions of the one or more source objects to the consumer; and
providing a second command to the cloud object store service to cause the cloud object store service to delete the one or more source objects.
2. The method of claim 1 , wherein the first command to the cloud object store service is issued as part of a garbage collection operation.
3. The method of claim 1 , wherein the one or more source objects currently stored at the cloud object store service is in a mapping data structure maintained by the consumer that is a distributed shared memory database.
4. The method of claim 1 , wherein the first command comprises one or more subcommands connected by a pipeline.
5. An apparatus comprising:
a memory; and
a processing device, operatively coupled to the memory, configured to:
identify, by a consumer of a cloud object store service external to the consumer, one or more source objects currently stored at the cloud object store service, the one or more source objects having a first set of portions that are to be maintained by the cloud object store service and a second set of portions that are to be deleted by the cloud object store service;
provide identifiers of the first set of portions and a first command to the cloud object store service configured to cause the cloud object store service to create a new object comprising the first set of portions of the one or more source objects that are already stored at the cloud object store service, wherein the new object is created by the cloud object store service while bypassing sending the first set of portions of the one or more source objects to the consumer; and
provide a second command to the cloud object store service to cause the cloud object store service to delete the one or more source objects.
6. The apparatus of claim 5 , wherein the first command to the cloud object store service is issued as part of a garbage collection operation.
7. The apparatus of claim 5 , wherein the one or more source objects currently stored at the cloud object store service is in a mapping data structure maintained by the consumer that is a distributed shared memory database.
8. The apparatus of claim 5 , wherein the first command comprises one or more subcommands connected by a pipeline.
9. A non-transitory computer readable storage medium storing instructions which, when executed, cause a processing device to:
identify, by a consumer of a cloud object store service external to the consumer, one or more source objects currently stored at the cloud object store service, the one or more source objects having a first set of portions that are to be maintained by the cloud object store service and a second set of portions that are to be deleted by the cloud object store service;
provide identifiers of the first set of portions and a first command to the cloud object store service configured to cause the cloud object store service to create a new object comprising the first set of portions of the one or more source objects that are currently stored at the cloud object store service, wherein the new object is created by the cloud object store service while bypassing sending the first set of portions of the one or more source objects to the consumer; and
provide a second command to the cloud object store service to cause the cloud object store service to delete the one or more source objects; and
update a mapping data structure to reference the new object and remove the one or more source objects.
10. The non-transitory computer readable storage medium of claim 9 , wherein the first command to the cloud object store service is issued as part of a garbage collection operation.
11. The non-transitory computer readable storage medium of claim 9 , wherein the one or more source objects currently stored at the cloud object store service is in a mapping data structure maintained by the consumer that is a distributed shared memory database.
12. The non-transitory computer readable storage medium of claim 9 , wherein the first command comprises one or more subcommands connected by a pipeline.
13. The method of claim 1 , wherein the first command and the second command are provided using an application programming interface that is provided by the cloud object store service.
14. The apparatus of claim 5 , wherein the first command and the second command are provided using an application programming interface that is provided by the cloud object store service.
15. The non-transitory computer readable storage medium of claim 9 , wherein the first command and the second command are provided using an application programming interface that is provided by the cloud object store service.
16. The method of claim 1 , wherein bypassing sending the first set of portions of the one or more source objects to the consumer is implemented by a multipart put copy operation.
17. The apparatus of claim 5 , wherein bypassing sending the first set of portions of the one or more source objects to the consumer is implemented by a multipart put copy operation.
18. The non-transitory computer readable storage medium of claim 9 , wherein bypassing sending the first set of portions of the one or more source objects to the consumer is implemented by a multipart put copy operation.