Amazon s3 provides a wide range of storage class for different use cases for a customer in public cloud. It mainly explains how your object is stored and how could you access it in s3. Each object in s3 must have associated with a storage class and the price varies based on different storage classes in s3.
As of now below storage classes is supported by Amazon
- Reduced Redundancy Storage (RRS)
The storage classes are mainly categorized into following types
Storage Class for Frequently Accessed Objects
This is useful for performance-sensitivities workloads.
STANDARD – This is the default storage class in s3 and offers low latency and high performance. You could use this class for various use cases such as dynamic websites, content distribution, mobile applications etc. You could directly add this storage class of an object during file upload operation or you could use the Life-cycle policies to automatically transitions of objects between storage classes.
REDUCED_REDUNDANCY STORAGE (RRS) – This is not recommended by AWS. This storage class is expensive and the data stores with less redundancy than STANDARD.
Storage Class for Unknown or Changing Access Objects
This class is helpful for optimizing the cost without compromising any performance impact by moving data automatically to the most cost-effective access tier.
INTELLIGENT_TIERING – This storage class is useful when there is change in data patterns. This usually stores the objects based on frequent and infrequent access. The infrequent access is designed for low cost optimization. AWS s3 usually moves the object to infrequent access tier if the object has not access for a period of 30 consecutive days. If the object is accessed during infrequent access tier, then the object would move to frequent access tier again. AWS does not incur charges for object movement between these two tiers. This class facilitate an user to directly add the storage class of an object during file upload operation or you could use the Life-cycle policies to transfer the objects to other storage classes.
Storage Class for Infrequent Accessed Objects
This class has been designed for long-lived and infrequently accessed data
STANDARD_IA – This is a less frequently access storage class. As like STANDARD storage class, this also provides low latency and high throughput with a less per-GB storage and per-GB retrieval price. With low cost and high performance, this is ideal for providing long-term storage,backups and as data store for disaster recovery.
ONEZONE_IA – This is also use for less frequently access object but requires rapid access when required. As like other storage class which stores data across six availability zone (N.Virginia) in your region, the ONEZONE_IA stores the data only in single AZ with 20% less cost as compared to the others. However, the performance remain same as like STANDARD and STANDARD_IA. This is ideal for storing objects which are less frequently access with low cost.
The data might lost in the event of AZ destruction because of single AZ of data storage in this class.
GLACIER – This class is useful for data archival at lower cost. This allows storing large or small objects for long term data archiving at low cost. The object retrieval from Glacier may vary from minutes to hours. You could directly add an object to glacier or could use the life-cycle policy to transfer data between any storage classes.
GLACIER DEEP ARCHIVE – This is the lowest cost storage class for long-term retention and digital preservation for data that may access once or twice in a year. This class is ideal for Financial Services, Healthcare, Public Sectors which may retains their data for 7-8 years or longer to meet some certain compliance requirements. This could also be used for backups and disaster recovery purposes.
Storage Class Comparison
The below table shows the performance comparison among different storage classes in s3.
I hope this blog helps to understand the storage class in AWS s3. Please comment below if you have any concerns related to this blog.