Concepts
Cloud storage is a fundamental aspect of Amazon Web Services (AWS) that provides a variety of solutions for storing different types of data. AWS offers several storage services, each tailored to specific storage needs. In this article, we’ll explore three primary AWS storage options that are often considered for the AWS Certified Developer – Associate (DVA-C02) exam: Amazon S3 for object storage, Amazon EFS for file storage, and Amazon RDS for relational database storage.
Amazon S3 (Simple Storage Service)
Amazon S3 is an object storage service that offers scalability, data availability, security, and performance. Objects are stored in buckets and can consist of any kind of data, such as images, videos, backups, and logs.
- Use Cases: Web hosting, backup and disaster recovery, data archiving, big data analytics, and cloud-native applications.
- Features:
- Store and retrieve any amount of data at any time.
- Built-in redundancy across multiple locations (Availability Zones).
- Lifecycle policies for automatic data management.
- Fine-grained access controls and encryption options.
- Examples: Storing website content, such as images or documents, and hosting static websites.
Amazon EFS (Elastic File System)
Amazon EFS is a fully managed file storage service that allows you to create and configure file systems quickly and easily. It scales automatically to accommodate growing data without needing to provision storage.
- Use Cases: Content management, application development, container storage, and databases.
- Features:
- Simple interface that allows you to create and configure file systems.
- Supports Network File System (NFS) version 4.0 and 4.1.
- Pay for what you use; there’s no upfront cost or commitment.
- Strong consistency and file locking features.
- Examples: Using EFS for shared storage for containerized applications or providing a common data source for content management systems.
Amazon RDS (Relational Database Service)
Amazon RDS makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while automating time-consuming administration tasks.
- Use Cases: Web and mobile applications, e-commerce platforms, and legacy applications requiring relational databases.
- Features:
- Managed service that handles routine database tasks such as provisioning, patching, backup, recovery, failure detection, and repair.
- Choose from six familiar database engines: Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database, and SQL Server.
- Scale computing resources and storage capacity with minimal downtime.
- Examples: Running applications that require complex transactions and advanced querying capabilities.
Comparison Table
Here’s a comparison of the key features and use cases:
Feature | Amazon S3 | Amazon EFS | Amazon RDS |
---|---|---|---|
Type | Object storage | File storage | Relational database storage |
Scalability | High, automatically scales | Automatically scales to petabyte-scale | Can manually or automatically scale resources |
Data Consistency | Read-after-Write for PUTs, Eventual Consistency for overwrite PUTs and DELETES | Strong consistency | Strong consistency |
Throughput | High throughput and low latency | High-performance file system | Depends on instance size and storage selection |
Use Cases | Web, backup, archiving, big data | Shared data, applications, containers | Web applications, backends, databases |
Pricing | Pay for what you use (storage, requests, and data transfer) | Pay for what you use, based on capacity used | Pay for database instances and storage |
Management Overhead | Almost none, no infrastructure management | No infrastructure management, simple to use | Managed relational database service |
When preparing for the AWS Certified Developer – Associate exam, it’s essential to understand the differences between these storage options, their primary use cases, and how to implement them effectively within an AWS environment. This knowledge ensures that developers can make informed decisions when architecting and developing applications in the cloud.
Answer the Questions in Comment Section
True/False: Amazon S3 is suitable for storing structured data with complex queries, such as relational databases.
- Answer: False
Amazon S3 is an object storage service suitable for storing large volumes of unstructured data, not structured data requiring complex queries like a relational database.
In AWS, which service is a fully managed NoSQL database service?
- A) Amazon RDS
- B) Amazon DynamoDB
- C) Amazon EFS
- D) Amazon S3
Answer: B) Amazon DynamoDB
Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.
Which AWS storage service is optimized for high-frequency access and low-latency operations?
- A) Amazon S3
- B) Amazon Glacier
- C) Amazon EBS
- D) Amazon EFS
Answer: C) Amazon EBS
Amazon Elastic Block Store (EBS) is optimized for high-frequency access and low-latency operations, making it suitable for workloads such as databases that require a persistent storage layer with block-level access.
True/False: Amazon RDS does not support automatic backup and recovery of the databases.
- Answer: False
Amazon RDS supports automatic backups and database recovery, helping to protect databases against data loss.
Which storage option is best for storing large amounts of infrequently accessed, non-relational data?
- A) Amazon Redshift
- B) Amazon RDS
- C) Amazon S3 Glacier
- D) Amazon DynamoDB
Answer: C) Amazon S3 Glacier
Amazon S3 Glacier is designed for long-term storage of infrequently accessed data, providing secure and durable storage at a low cost.
True/False: You can enable versioning to protect against accidental overwrites and deletions in Amazon EFS.
- Answer: False
Versioning is a feature available in Amazon S3, not Amazon EFS. It is used to preserve, retrieve, and restore every version of every object stored in an Amazon S3 bucket.
Which AWS service allows you to run SQL queries directly on files stored in S3 without the need to load data into a separate analytics tool?
- A) Amazon Athena
- B) Amazon Redshift Spectrum
- C) Both A and B
- D) Amazon QuickSight
Answer: C) Both A and B
Both Amazon Athena and Amazon Redshift Spectrum allow you to run SQL queries on data in Amazon S3 directly, without loading it into a separate analytics tool.
Amazon Glacier has which retrieval options that vary in data access times and costs?
- A) Expedited
- B) Standard
- C) Bulk
- D) All of the above
Answer: D) All of the above
Amazon Glacier offers all these retrieval options – Expedited, Standard, and Bulk – each with different access times and associated costs.
True/False: In AWS, Amazon Elastic File System (EFS) provides a file storage infrastructure that is only compatible with Linux-based AMIs.
- Answer: True
Amazon EFS provides a POSIX-compatible file system used with AWS Cloud services and on-premises resources, but it is currently only compatible with Linux-based AMIs (Amazon Machine Images).
Which AWS service provides a block storage that is similar to direct-attached storage (DAS) or to a SAN (Storage Area Network)?
- A) Amazon EBS
- B) Amazon S3
- C) Amazon RDS
- D) Amazon MSK
Answer: A) Amazon EBS
Amazon Elastic Block Store (EBS) provides block-level storage volumes for use with Amazon EC2 instances, similar in function to direct-attached storage (DAS) or a SAN.
True/False: AWS’s Amazon RDS includes options for running Microsoft SQL Server and Oracle databases as well as MySQL, PostgreSQL, and Amazon Aurora.
- Answer: True
Amazon RDS supports several instance types including Microsoft SQL Server, Oracle, MySQL, PostgreSQL, and Amazon Aurora, providing a variety of database instances options for different needs.
Multi-Select: Which of the following are types of EBS volumes?
- A) General Purpose SSD
- B) Provisioned IOPS SSD
- C) Throughput Optimized HDD
- D) S3 Infrequent Access
Answer: A) General Purpose SSD, B) Provisioned IOPS SSD, C) Throughput Optimized HDD
General Purpose SSD, Provisioned IOPS SSD, and Throughput Optimized HDD are all types of EBS volumes. S3 Infrequent Access is a storage class within Amazon S3 and not a type of EBS volume.
Cloud storage options in AWS are vast. Can someone explain the differences between S3 and EFS?
I’m confused about when to use DynamoDB vs. RDS for databases on AWS.
Thanks for this tutorial, it clarified a lot of my doubts!
Can S3 be used for transactional workloads?
Great guide! Helped me a lot!
Is there a way to automatically archive objects in S3?
One of the best resources for AWS Certified Developer exam prep!
Can Aurora be classified under cloud storage?