AWS Certified Solutions Architect - Associate / Question #1626 of 1019

Question #1626

A company operates a three-tier application on AWS. The data tier utilizes Amazon RDS for PostgreSQL configured with a Multi-AZ deployment and 8 TB of Provisioned IOPS SSD storage. The application stores images as binary large objects (BLOBs) with an average size of 5 MB. Over time, the database has experienced performance degradation and increased storage costs. The company requires a highly available and resilient solution to enhance performance and reduce expenses.

Which solution MOST cost-effectively meets these requirements?

A

Reduce the RDS DB instance size. Increase the storage capacity to 16 TiB. Change the storage type to General Purpose SSD.

B

Increase the RDS DB instance size. Upgrade the storage capacity to 16 TiB and switch the storage type to Magnetic.

C

Create an Amazon S3 bucket. Update the application to store images in the S3 bucket. Retain the image metadata in the existing database.

D

Create an Amazon DynamoDB table. Modify the application to use DynamoDB. Migrate data from PostgreSQL to DynamoDB using AWS DMS.

Explanation

The correct answer is C. Storing large binary objects (BLOBs) like images in Amazon RDS is inefficient and expensive because databases are optimized for structured data, not large files. By offloading BLOBs to Amazon S3, the company reduces the RDS storage footprint, lowering costs and improving database performance (e.g., faster queries, backups). S3 is highly available, durable, and cost-effective for object storage. Retaining metadata in RDS ensures transactional consistency for application logic.

Why other options are incorrect:
- A: Increasing storage to 16 TiB with General Purpose SSD still stores BLOBs in RDS, which does not resolve performance or cost issues.
- B: Magnetic storage has low IOPS and is unsuitable for database workloads. Increasing instance size raises costs.
- D: Migrating to DynamoDB introduces complexity and does not address BLOB storage costs unless combined with S3.

Key Points:
1. Use S3 for large objects to reduce RDS costs and improve performance.
2. RDS should store only metadata for efficient querying.
3. S3 provides high availability, durability, and scalability at lower costs.

Answer

The correct answer is: C