1. A method for dynamically utilizing data storage, comprising: determining whether a first data storage criterion capacity threshold is reached for a first data storage, wherein the first data storage stores uncompressed data objects; in the event that the first data storage capacity threshold is reached: determining a new first archiving threshold based on a first target data storage capacity, wherein the new first archiving threshold comprises a first data object activity level that will result in a sufficient number of data objects in the first data storage being archived and removed to meet the first target data storage capacity; and setting the first archiving threshold; determining whether a second data storage capacity threshold is reached for a second data storage, wherein the second data storage stores compressed data objects, wherein the data object stored in the second data storage comprises an indicator indicating whether a respective data object is to be uncompressed and transmitted to the first data storage or remain compressed and transmitted to a third data storage, wherein the third data storage stores compressed data objects; and in the event that the second data storage criterion is satisfied: determining a new second archiving threshold based on a second target data storage capacity, wherein the new second archiving threshold comprises a second data object activity level that will result in a sufficient number of data objects in the first second data storage being archived and removed to meet the second target data storage capacity; and setting the second archiving threshold; in the event that a data object is needed, determining whether to retrieve the data object from the first uncompressed data storage, the second compressed data storage, or the third data storage; and in the event that the data object is no longer needed, determining whether the data object is to be stored in the first data storage, recompressed and stored in the second data storage, or recompressed and stored in the third data storage, wherein determining whether the data object is to be stored comprises: in the event that an activity level of the data object is greater than a keep threshold, store the data object in the first data storage, in the event that the activity level of the data object is less than or equal to the keep threshold and is greater than or equal to an offloading threshold, recompress and store the data object in the second data storage, and in the event that that the activity level of the data object is less than the offloading threshold, recompress and store the data object in the third data storage.