Handling Large Data with DynamoDB and S3 | SAA-C03
Short answer
B Store large data objects in Amazon S3 and save the S3 URL as an attribute in the DynamoDB table.
Question
Key Takeaways
The question tests knowledge of DynamoDB's 400 KB item size limit and the operational efficiency of offloading large payloads to Amazon S3.
This page explains the AWS best practice for storing large binary objects while using Amazon DynamoDB as the primary metadata store, identifying Option B as the correct solution.
Common mistake: Candidates often choose compression (Option D) or sharding (Option C), failing to realize that neither guarantees compliance with the hard 400 KB limit or offers the same operational simplicity as S3.
Expert Analysis
Why the Answer Is Correct
Amazon DynamoDB enforces a strict maximum item size of 400 KB. Since the application data exceeds this limit, storing it directly in DynamoDB is impossible regardless of compression or splitting strategies. Storing the large data objects in Amazon S3 and keeping only the S3 object key (URL) in a DynamoDB attribute is the standard AWS-recommended pattern for handling large items. This approach decouples storage from compute, is highly scalable, and requires minimal management overhead, satisfying the 'most operationally efficient' requirement.
Why the Other Options Are Wrong
Option A introduces DocumentDB, adding unnecessary complexity and cost when S3 is sufficient for unstructured data. Option C attempts to split data into multiple items; however, DynamoDB reads are limited by the 1 MB response size constraint per request, making retrieval complex and inefficient. Option D suggests compression via Lambda, but gzip does not guarantee the payload will shrink below 400 KB, leading to potential write failures.
Community Comment Notes
Community consensus strongly supports Option B. Users note that introducing another database like DocumentDB is over-engineering (as noted by LeonSauveterre). Others highlight that compression doesn't solve the hard limit issue (Scheldon). The general agreement is that S3 + DynamoDB pointer is the canonical architecture for this scenario.
Official Reference
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-use-s3-too.html
This link opens the official vendor documentation in a new tab.
Exam Strategy
Always check the service limits first. For DynamoDB, remember the 400 KB item limit. If data exceeds this, immediately consider S3 for the blob and DynamoDB for the metadata/index.
Frequently Asked Questions
Why can't we just compress the data with Lambda?
Is DocumentDB better than S3 for this?
Community Votes
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
-
Neung983 👍 9 Answered Boption B is the most operationally efficient solution for handling large data sizes in Amazon DynamoDB.
-
Sergiuss95 👍 2 Answered Bhttps://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-use-s3-too.html
-
Scheldon 👍 1 Answered BAnswerB Compresion of data in DynamoDB is a good idea especially for text data link from forum, but to do that we do not need AWS Lambda if I'm not wrong. In other head Storing big object on S3 and seving URL to it in DynamoDB is one of best practices mentioned by Amazon. Hence we do not know what kind of data we are storing in DB and how big objects will be in the future option B looks like the best solution. https://aws.amazon.com/blogs/database/large-object-storage-strategies-for-amazon-dynamodb/ <<<< Read Option 2 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-use-s3-too.html
-
LeonSauveterre 👍 1 Answered BA - Introducing another database. No need. B - Decoupling the large data storage (S3) from the metadata or smaller structured data (DynamoDB) is an AWS-recommended pattern. C - OK but this is too complicated. D - Compression does not guarantee that the data will always fit within DynamoDB's 400 KB limit.
-
seetpt 👍 5 Answered BB is correct
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All SAA-C03 Questions
Access 120 questions with complete answers and detailed explanations.
View Full SAA-C03 Practice Test →