Different storage classes meet different needs for storage performance and costs.
- OBS Standard features low access latency and high throughput. It is applicable to storing frequently accessed (multiple times per month) hot or small files (< 1 MB) that require quick response. The application scenarios include big data, mobile applications, hot videos, and social media images.
- OBS Warm is applicable to storing less frequently accessed data (less than 12 times per year on average) with fast access response. The application scenarios include file synchronization or sharing, and enterprise-level backup. It provides the same durability, access latency, and throughput as OBS Standard but at a lower price. However, OBS Warm has lower availability than OBS Standard.
- OBS Cold is applicable to archiving rarely-accessed (averagely once a year) data. The application scenarios include data archiving and long-term data retention for backup. OBS Cold is secure, durable, and inexpensive, which can replace tape libraries. However, it can take up to hours to restore data from OBS Cold.
You can change the storage class of an object in the object list, or you can transition the object storage class by using the lifecycle rule. Because the implementation principles of the two methods are different, the charging is different. Details about the differences between the two methods are as follows:
- In the object list, changing storage class of an object is implemented by copying the object and assigning the new object with the specified storage class. When the versioning function is disabled or suspended, the new object will overwrite the original object. After the storage class is changed successfully, the new object will be in the newly specified storage class and its last modification time will change. However, the number of objects in the bucket and the used storage space remain unchanged, and no additional storage cost is incurred. When the versioning function is enabled and you change the storage class of an object in the object list, the new object will be saved as a different version of the original object. Therefore, the new object does not overwrite the original object. After the storage class is changed successfully, two versions of the object are saved in OBS. The storage class of the original object remains unchanged, and the newly specified storage class applies only to the new version of the object. As a result the number of objects in the bucket and the used storage space will increase, incurring extra storage cost.
- The lifecycle rule alters the object attribute in the system instead of generating a new object, meaning the transition between storage classes is not subject to the versioning function. After the storage class is transitioned successfully, the last modification time of the object will not be altered. Such transition will not result in the increase of objects nor storage space. Therefore, no extra cost will be incurred.