exam questions

Exam AWS Certified Solutions Architect - Associate SAA-C03 All Questions

View all questions & answers for the AWS Certified Solutions Architect - Associate SAA-C03 exam

Exam AWS Certified Solutions Architect - Associate SAA-C03 topic 1 question 362 discussion

A company uses a payment processing system that requires messages for a particular payment ID to be received in the same order that they were sent. Otherwise, the payments might be processed incorrectly.

Which actions should a solutions architect take to meet this requirement? (Choose two.)

  • A. Write the messages to an Amazon DynamoDB table with the payment ID as the partition key.
  • B. Write the messages to an Amazon Kinesis data stream with the payment ID as the partition key.
  • C. Write the messages to an Amazon ElastiCache for Memcached cluster with the payment ID as the key.
  • D. Write the messages to an Amazon Simple Queue Service (Amazon SQS) queue. Set the message attribute to use the payment ID.
  • E. Write the messages to an Amazon Simple Queue Service (Amazon SQS) FIFO queue. Set the message group to use the payment ID.
Show Suggested Answer Hide Answer
Suggested Answer: BE 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
Ashkan_10
Highly Voted 1 year, 8 months ago
Selected Answer: BE
Option B is preferred over A because Amazon Kinesis Data Streams inherently maintain the order of records within a shard, which is crucial for the given requirement of preserving the order of messages for a particular payment ID. When you use the payment ID as the partition key, all messages for that payment ID will be sent to the same shard, ensuring that the order of messages is maintained. On the other hand, Amazon DynamoDB is a NoSQL database service that provides fast and predictable performance with seamless scalability. While it can store data with partition keys, it does not guarantee the order of records within a partition, which is essential for the given use case. Hence, using Kinesis Data Streams is more suitable for this requirement. As DynamoDB does not keep the order, I think BE is the correct answer here.
upvoted 29 times
...
awsgeek75
Highly Voted 11 months, 1 week ago
I don't understand the question. The only requirement is: " system that requires messages for a particular payment ID to be received in the same order that they were sent" SQS FIFO (E) meets this requirement. Why would you "write the message" to Kinesis or DynamoDB anymore. There is no streaming or DB storage requirement in the question. Between A/B, B is better logically but it doesn't meet any stated requirement. Happy to understand what I'm missing
upvoted 9 times
MatAlves
3 months, 1 week ago
Instead of "what actions...", the question should say "what are the alternatives/options that meet this requirement".
upvoted 3 times
...
...
FlyingHawk
Most Recent 3 weeks ago
Selected Answer: BE
Both B and E can ensure the messages being processed in the order they were received, however SQS FIFO queues (E) are simpler, more cost-effective, and better aligned with the needs of this use case compared to Kinesis. Unless you have additional real-time analytics or high-throughput requirements, E is the superior choice, the big reason why KDS can preserve the order is due to sequence number assigned to data record when it was written to shard, Dynamo DB does not have a sequence number associated with the record. https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html
upvoted 1 times
...
pentium75
11 months, 3 weeks ago
Selected Answer: BE
Both Kinesis and SQS FIFO queue guarantee the order, other answers don't.
upvoted 4 times
...
meowruki
1 year ago
Option B (Write the messages to an Amazon Kinesis data stream with the payment ID as the partition key): Kinesis can provide ordered processing within a shard Write the messages to an Amazon Simple Queue Service (Amazon SQS) FIFO queue. Set the message group to use the payment ID. SQS FIFO (First-In-First-Out) queues preserve the order of messages within a message group.
upvoted 4 times
...
TariqKipkemei
1 year, 2 months ago
Selected Answer: BE
Technically both B and E will ensure processing order, but SQS FIFO was specifically built to handle this requirement. There is no ask on how to store the data so A and C are out.
upvoted 2 times
...
Pritam228
1 year, 2 months ago
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.Partitions.html
upvoted 2 times
...
Guru4Cloud
1 year, 3 months ago
Selected Answer: DE
options D and E are better because they mimic a real-world queue system and ensure that payments are processed in the correct order, just like customers in a store would be served in the order they arrived. This is crucial for a payment processing system where order matters to avoid mistakes in payment processing.
upvoted 2 times
Guru4Cloud
1 year, 3 months ago
Amazon Kinesis Data Streams Overkill for Ordering Overkill for Ordering: While Kinesis can maintain order within a partition key, it might be seen as overkill for a scenario where your primary concern is maintaining the order of payments. SQS FIFO queues (option E) are specifically designed for this purpose and provide an easier and more cost-effective solution.
upvoted 1 times
...
...
omoakin
1 year, 6 months ago
AAAAAAAAA EEEEEEEEEEEEEE
upvoted 3 times
...
Konb
1 year, 7 months ago
Selected Answer: AE
IF the question would be "Choose all the solutions that fulfill these requirements" I would chosen BE. But it is: "Which actions should a solutions architect take to meet this requirement? " For this reason I chose AE, because we don't need both Kinesis AND SQS for this solution. Both choices complement to order processing: order stored in DB, work item goes to the queue.
upvoted 3 times
Smart
1 year, 4 months ago
Incorrect, AWS will clarify it by using the phrase - "combination of actions".
upvoted 2 times
...
...
luisgu
1 year, 7 months ago
Selected Answer: BE
E --> no doubt B --> see https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html
upvoted 2 times
...
kruasan
1 year, 7 months ago
Selected Answer: BE
1) SQS FIFO queues guarantee that messages are received in the exact order they are sent. Using the payment ID as the message group ensures all messages for a payment ID are received sequentially. 2) Kinesis data streams can also enforce ordering on a per partition key basis. Using the payment ID as the partition key will ensure strict ordering of messages for each payment ID.
upvoted 3 times
kruasan
1 year, 7 months ago
The other options do not guarantee message ordering. DynamoDB and ElastiCache are not message queues. SQS standard queues deliver messages in approximate order only.
upvoted 3 times
...
...
mrgeee
1 year, 8 months ago
Selected Answer: BE
BE no doubt.
upvoted 2 times
...
nosense
1 year, 8 months ago
Selected Answer: BE
Option A, writing the messages to an Amazon DynamoDB table, would not necessarily preserve the order of messages for a particular payment ID
upvoted 2 times
...
MssP
1 year, 9 months ago
Selected Answer: BE
I don´t unsderstand A, How you can guaratee the order with DynamoDB?? The order is guarantee with SQS FIFO and Kinesis Data Stream in 1 shard...
upvoted 5 times
pentium75
11 months, 4 weeks ago
If it really means "combination of actions" than A+E would work, because you'd use the FIFO queue (E) to guarantee the order. Then the order in the database doesn't matter. If they want to alternative solutions then obviously B and E would work while A alone doesn't.
upvoted 2 times
...
...
Grace83
1 year, 9 months ago
AE is the answer
upvoted 2 times
...
XXXman
1 year, 9 months ago
Selected Answer: BE
dynamodb or kinesis data stream which one in order?
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 ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago