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

Unlimited Access

Get Unlimited Contributor Access to the all ExamTopics Exams!
Take advantage of PDF Files for 1000+ Exams along with community discussions and pass IT Certification Exams Easily.

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: BD 🗳️

Comments

Chosen Answer:
This is a voting comment (?) , you can switch to a simple comment.
Switch to a voting comment New
Ashkan_10
Highly Voted 1 year, 3 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 26 times
...
awsgeek75
Highly Voted 5 months, 2 weeks 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 5 times
...
pentium75
Most Recent 6 months ago
Selected Answer: BE
Both Kinesis and SQS FIFO queue guarantee the order, other answers don't.
upvoted 3 times
...
meowruki
7 months, 1 week 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 3 times
...
TariqKipkemei
8 months, 3 weeks 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 1 times
...
Pritam228
9 months ago
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.Partitions.html
upvoted 1 times
...
Guru4Cloud
10 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
10 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, 1 month ago
AAAAAAAAA EEEEEEEEEEEEEE
upvoted 3 times
...
Konb
1 year, 1 month 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
11 months, 1 week ago
Incorrect, AWS will clarify it by using the phrase - "combination of actions".
upvoted 1 times
...
...
luisgu
1 year, 1 month ago
Selected Answer: BE
E --> no doubt B --> see https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html
upvoted 1 times
...
kruasan
1 year, 2 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 2 times
kruasan
1 year, 2 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 2 times
...
...
mrgeee
1 year, 2 months ago
Selected Answer: BE
BE no doubt.
upvoted 1 times
...
nosense
1 year, 2 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 1 times
...
MssP
1 year, 3 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 4 times
pentium75
6 months, 1 week 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 1 times
...
...
Grace83
1 year, 3 months ago
AE is the answer
upvoted 2 times
...
XXXman
1 year, 3 months ago
Selected Answer: BE
dynamodb or kinesis data stream which one in order?
upvoted 1 times
...
Karlos99
1 year, 3 months ago
Selected Answer: AE
No doubt )
upvoted 3 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 ...
ex Want to SAVE BIG on Certification Exam Prep?
close
ex Unlock All Exams with ExamTopics Pro 75% Off
  • arrow Choose From 1000+ Exams
  • arrow Access to 10 Exams per Month
  • arrow PDF Format Available
  • arrow Inline Discussions
  • arrow No Captcha/Robot Checks
Limited Time Offer
Ends in