Welcome to ExamTopics
ExamTopics Logo
- Expert Verified, Online, Free.

Exam AWS Certified Solutions Architect - Professional topic 1 question 3 discussion

You have recently joined a startup company building sensors to measure street noise and air quality in urban areas. The company has been running a pilot deployment of around 100 sensors for 3 months each sensor uploads 1KB of sensor data every minute to a backend hosted on AWS.
During the pilot, you measured a peak or 10 IOPS on the database, and you stored an average of 3GB of sensor data per month in the database.
The current deployment consists of a load-balanced auto scaled Ingestion layer using EC2 instances and a PostgreSQL RDS database with 500GB standard storage.
The pilot is considered a success and your CEO has managed to get the attention or some potential investors. The business plan requires a deployment of at least 100K sensors which needs to be supported by the backend. You also need to store sensor data for at least two years to be able to compare year over year
Improvements.
To secure funding, you have to make sure that the platform meets these requirements and leaves room for further scaling.
Which setup win meet the requirements?

  • A. Add an SQS queue to the ingestion layer to buffer writes to the RDS instance
  • B. Ingest data into a DynamoDB table and move old data to a Redshift cluster
  • C. Replace the RDS instance with a 6 node Redshift cluster with 96TB of storage
  • D. Keep the current architecture but upgrade RDS storage to 3TB and 10K provisioned IOPS
Show Suggested Answer Hide Answer
Suggested Answer: C 🗳️
The POC solution is being scaled up by 1000, which means it will require 72TB of Storage to retain 24 months' worth of data. This rules out RDS as a possible DB solution which leaves you with Redshift.
I believe DynamoDB is a more cost effective and scales better for ingest rather than using EC2 in an auto scaling group.
Also, this example solution from AWS is somewhat similar for reference.

Comments

Chosen Answer:
This is a voting comment (?) , you can switch to a simple comment.
Switch to a voting comment New
anola
Highly Voted 2 years, 12 months ago
Correct answer: "B" For one day we will have = 24 hrs * 60 min * 1 KB = 1440 KB of data For one month we will have = 1440 * 30 = 43200 KB of data For 100k sensors we will have '4.32' TB of data in a month This transates to '103,68' TB of data for 2 years Option "C" is incorrect as the question does not mention how the large data gets scaled or how the ingestion of large data will be handled. Also '96TB' of storage is insufficient when compared to '103.68' TB of data derived above.
upvoted 21 times
sraakesh95
3 months ago
For 100k sensors, based on the given data, the data processed is 3TB. And for 2 years, 72TB (not 104 TB). I would say, the answer is C
upvoted 1 times
...
tiana528
2 years, 11 months ago
>For one month we will have = 1440 * 30 = 43200 KB of data It is a little confusing, but I think this calculation is incorrect, as the question says there is 3GB data per month.
upvoted 5 times
...
Praths
2 years, 11 months ago
This calculation doesnt add up . Are we sure the answer is B ?
upvoted 2 times
...
JAWS1600
2 years, 11 months ago
1440 KB per Day . 1440*730=1051,200 KB for 2 years PER Sensor. for 100K sensors = 1051,200,00,000 KB = 97.9 TB . ( 1051,200,00,000/1024MB/1024GB/1024TB). It is still over 96TB. But cutting close.
upvoted 1 times
...
...
Judy
Highly Voted 2 years, 11 months ago
I think the the explaination is talking about the answer B, using Dynamo DB to ingest data and saving data in Redshift(3GB*1000*24=72TB).
upvoted 9 times
...
Coffeinerd
Most Recent 3 weeks ago
Selected Answer: B
Tricky one. By exclusion I have removed all that do not scale the RDS cluster to a minimum retention. So A and D go away. Then we have an indication of Redshift usage with the "comparison year over year" this is a clear BI reference, so RedShift comes into play. But Redshift is not good as an ingestion platform. It is more of a read heavy platform, so here Dynamo comes into play. Knowing AWS and after 12+years working with it and doing exams I would go with B.
upvoted 1 times
...
amministrazione
1 month ago
B. Ingest data into a DynamoDB table and move old data to a Redshift cluster
upvoted 1 times
...
Greanny
5 months, 2 weeks ago
chatgpt - Given the requirements and the need for scalability, cost-effectiveness, and long-term storage, option B seems to be the most suitable: Ingesting data into DynamoDB provides scalability and flexibility. Moving old data to Redshift allows for efficient long-term storage and analysis. This approach ensures that the platform can support the increased number of sensors and the required retention period while leaving room for further scaling.
upvoted 1 times
...
nideesh
10 months ago
Selected Answer: D
current IOPS is 10 and 3GB per month. There will be increase from 100 to 100k sensors almost 1000 times. RDS instance needs to be upgraded for CPU as well as storage. A) SQS does not meet storage requirement Also there is multiple EC2 instance B) Application needs to be changed from SQL to No SQL, which differs from PILOT project C) redsdhift is data warehouse for analytics
upvoted 1 times
...
Andy85
1 year, 1 month ago
Answer: b
upvoted 1 times
...
autobahn
1 year, 1 month ago
It cannot be B because Dynamo DB has a restriction of 10GB per partition and the max # of partitions is 3000. So, per table max storage is only 30TB whereas here we want 72 TB if two years data needs to be kept
upvoted 1 times
awsylum
5 months, 2 weeks ago
From the documentation: “ The maximum size of any item collection for a table which has one or more local secondary indexes is 10 GB. This does not apply to item collections in tables without local secondary indexes, and also does not apply to item collections in global secondary indexes. Only tables that have one or more local secondary indexes are affected.” You can also split data into multiple tables in case you have a LSI.
upvoted 1 times
...
...
kondratyevmn
1 year, 3 months ago
It doesn't look like there is a correct answer at all. B - the tests were conducted at SQL DB (PostgreSQL, RDS) why people vote for DynamoDB at all which is NoSQL. C - seems could work out for a while, but doesn't have anything for future scaling and there is no information about IOPS as well. A, D - doesn't meet the minimum requirements.
upvoted 2 times
awsylum
5 months, 2 weeks ago
The original system was a POC. The production system definitely could use DynamoDB and the clue in the question is the 1KB per minute of data which is exactly the write request unit that DynamoDB supports. You’re thinking of a RDS migration to DynamoDB which can be complicated. But that’s not the scenario.
upvoted 1 times
...
...
alexua
1 year, 5 months ago
making the simple estimation of required storage - it get > 100TB, so option Redshift (96TB) won't serve. The correct is "B"
upvoted 1 times
...
gameoflove
1 year, 6 months ago
Selected Answer: B
As we need Data to be store for 2 years and dynamodb have high storage capacity
upvoted 1 times
...
TigerInTheCloud
1 year, 9 months ago
Selected Answer: B
A, No enough storage space, B, Seems okay C, Writing to Redshift directly without helpers, such as Kinesis, would be terribly slow. D, No enough storage space So B is the choice
upvoted 3 times
...
rochester
2 years ago
B is correct
upvoted 1 times
...
jj22222
2 years, 5 months ago
Selected Answer: B
b looks right
upvoted 1 times
...
andypham
2 years, 10 months ago
I will go for C, as the question is only focusing on the backend part, which is the data layer. The ingestion layer is being handled by instances with autoscaling and load balancer, which is fine.
upvoted 1 times
...
Osemk
2 years, 10 months ago
Answer is B
upvoted 2 times
...
Gustava6272
2 years, 10 months ago
I think A is better answer for IOPS , as size can always be increase . RDS has 80K IOPS, which can be increased by SQS ( even size matches 1K to 256KB)
upvoted 1 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...