Cost-Optimized Photo Hosting with S3 Intelligent-Tiering

SAA-C03 By islever Editorial Last updated

Short answer

B Store photos in S3 Intelligent-Tiering and metadata in DynamoDB to automatically optimize costs based on access frequency.

Question

A company is running a photo hosting service in the us-east-1 Region. The service enables users across multiple countries to upload and view photos. Some photos are heavily viewed for months, and others are viewed for less than a week. The application allows uploads of up to 20 MB for each photo. The service uses the photo metadata to determine which photos to display to each user. Which solution provides the appropriate user access MOST cost-effectively?
  1. Store the photos in Amazon DynamoDB. Turn on DynamoDB Accelerator (DAX) to cache frequently viewed items.
  2. Store the photos in the Amazon S3 Intelligent-Tiering storage class. Store the photo metadata and its S3 location in DynamoDB. Correct Answer
  3. Store the photos in the Amazon S3 Standard storage class. Set up an S3 Lifecycle policy to move photos older than 30 days to the S3 Standard-Infrequent Access (S3 Standard-IA) storage class. Use the object tags to keep track of metadata.
  4. Store the photos in the Amazon S3 Glacier storage class. Set up an S3 Lifecycle policy to move photos older than 30 days to the S3 Glacier Deep Archive storage class. Store the photo metadata and its S3 location in Amazon OpenSearch Service.

Key Takeaways

The core concept is matching storage classes to access frequency; the trap is choosing manual lifecycle policies or archival tiers for data that is still actively accessed.

This question evaluates the design of a cost-optimized storage solution for an application with unpredictable access patterns using Amazon S3 Intelligent-Tiering and DynamoDB.

Common mistake: Many learners incorrectly select Option C because they assume a simple Lifecycle policy is sufficient, failing to recognize that Intelligent-Tiering is more cost-effective for highly variable, unpredictable access patterns without manual intervention.

Expert Analysis

Why the Answer Is Correct

Option B is the correct answer because it leverages Amazon S3 Intelligent-Tiering, which automatically moves objects between frequent and infrequent access tiers based on changing access patterns. This perfectly matches the scenario where some photos are heavily viewed for months while others are viewed for less than a week, ensuring no unnecessary fees for over-provisioned storage. Storing metadata in DynamoDB provides a scalable, low-cost way to query photo attributes efficiently, separating compute/query logic from object storage.

Why the Other Options Are Wrong

Option A is incorrect because DynamoDB is not designed for storing large binary files like 20 MB photos; its item size limit is 400 KB, making it technically impossible to store the photos directly. Option C is suboptimal because S3 Standard-IA has higher retrieval costs and minimum retention periods that may not align well with the 'less than a week' viewing pattern, and manual lifecycle rules add operational overhead compared to Intelligent-Tiering's automation. Option D is wrong because Glacier and Deep Archive are for archival data with retrieval times ranging from minutes to hours, which would cause unacceptable latency for users trying to view photos immediately.

Community Comment Notes

The community consensus strongly supports Option B, with multiple commenters noting that Intelligent-Tiering is ideal for 'unpredictable scenarios' where access patterns vary significantly over time. As user Typewriter101 noted, the automatic movement between tiers aligns well with varying view frequencies, providing both simplicity and cost efficiency.

Exam Strategy

When designing storage solutions, always look for keywords indicating 'unpredictable' or 'varying' access patterns; S3 Intelligent-Tiering is almost always the answer for these cases unless specific retrieval latency requirements dictate otherwise. Separate metadata from object storage to optimize query performance and reduce storage costs.

Frequently Asked Questions

Why can't I store 20MB photos in DynamoDB?

DynamoDB has a strict maximum item size of 400 KB. Storing 20 MB photos would exceed this limit by 50x, causing write failures.

Is S3 Standard-IA cheaper than Intelligent-Tiering?

Not necessarily. Standard-IA has higher per-request costs and retrieval fees. Intelligent-Tiering eliminates retrieval fees and optimizes automatically for unpredictable patterns.

More SAA-C03 FAQ →

Community Votes

B
100%

100% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.

Discussion 5 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 5

  1. Typewriter101 👍 9 Answered B
    The Intelligent-Tiering storage class automatically moves objects between two access tiers (frequent access and infrequent access) based on their access patterns, which aligns well with the varying view frequencies of the photos. Storing metadata in DynamoDB allows for efficient querying and retrieval of photo metadata.
  2. alawada 👍 3 Answered B
    Store the photos in the Amazon S3 Intelligent-Tiering = Unpredictable scenario
  3. Scheldon 👍 2 Answered B
    AnswerB Seem to be the best solution from provided
  4. Andy_09 👍 10
    B is the correct option
  5. Indrasis 👍 2
    Correct option: B

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide