SAA-C03 Design High-Performing Architectures Practice Question
A genomics research team stores about 400 TB of compressed sequence files in Amazon S3 and runs a distributed analysis on Amazon EC2 instances in the same Region. The analysis reads each file sequentially and writes intermediate results to local instance storage. The team reports that the S3 GET requests are a bottleneck and wants to improve read throughput while keeping data durable. (Choose two.)
⚠ Common exam trap
The trap here is reaching for storage-class changes or gateway products to fix throughput, when the real levers are request distribution across partitions and parallel byte-range reads.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Prefix the object keys with a hash or random value to spread requests across multiple S3 partitions.
S3 request performance is bounded by how well requests spread across the index partitions and by per-object concurrency. Randomizing key prefixes distributes GETs across many partitions so no single prefix throttles, and byte-range fetches let many threads or instances read one large object in parallel. Together they raise aggregate read throughput for the 400 TB analysis while the objects stay durable in S3.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Prefix the object keys with a hash or random value to spread requests across multiple S3 partitions.
Why this is correct
S3 scales request rates by partitioning an index by key prefix, and a hot prefix can throttle GET throughput. Distributing keys with a high-cardinality prefix spreads the load across many partitions, raising the request rate the bucket can sustain. This complements byte-range fetches and keeps objects durable in S3, directly improving the reported GET bottleneck.
- ✓
Use S3 byte-range fetches to retrieve each object in parallel parts across multiple threads or instances.
Why this is correct
S3 supports HTTP Range GET requests, so a large sequence file can be read in many parallel byte ranges, multiplying aggregate throughput per object. Spreading those ranges across the EC2 fleet lets the analysis saturate available network bandwidth rather than waiting on one sequential stream. Durability is unchanged because the data remains in S3, addressing the identified GET bottleneck.
- ✗
Mount the bucket with an S3 File Gateway and read the files over NFS from the EC2 fleet.
Why it's wrong here
S3 File Gateway presents a bucket as an NFS or SMB file share backed by a local cache, which is useful for on-premises or hybrid access, not for a high-throughput parallel scan already running in the same Region. The gateway becomes a bandwidth bottleneck and adds latency and cost. It does not raise the underlying S3 GET rate.
- ✗
Enable S3 Versioning on the bucket so concurrent readers can access older object versions.
Why it's wrong here
Versioning retains prior object versions for recovery and compliance; it does not increase read throughput or request rate capacity. Readers still request the same current key, so the partition and concurrency limits are unchanged. It also adds storage cost for retained versions without addressing the bottleneck the team described.
- ✗
Configure the bucket for S3 Standard-Infrequent Access to lower the cost of frequent GET requests.
Why it's wrong here
S3 Standard-IA reduces storage cost for infrequently accessed data but charges a retrieval fee and is meant for data accessed less than once a month. The analysis reads the data repeatedly, so retrieval charges would grow and the storage class does not change request throughput or partitioning. It is a cost and lifecycle decision, not a performance one.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
One of 935 original SAA-C03 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Amazon Web Services exam blueprint
This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.