For one order, process created, paid, and shipped changes in order.
Changes for different orders may run in parallel, but one order must not be applied backward.
Which stream-processing design is most appropriate?
Assign the same item key to one ordered processing unit and parallelize different keys.
Detailed explanation
Network delay and equal timestamps mean timestamps alone do not provide a safe ordering guarantee.
Network delay and equal timestamps mean timestamps alone do not provide a safe ordering guarantee.
A scan shows current state but does not preserve the sequence of changes and adds read load.
A scan shows current state but does not preserve the sequence of changes and adds read load.
This preserves order globally but removes unnecessary parallelism and creates delay.
This preserves order globally but removes unnecessary parallelism and creates delay.
Changes for that key retain their order while different keys can be processed concurrently.
Changes for that key retain their order while different keys can be processed concurrently.
Check official documentation
Compare the following points with the official documentation.
DynamoDB Streamsの順序性、シャード、Lambdaイベントソースの公式説明を確認する。
What to confirm
全体直列化ではなく、同一キー単位の順序と異なるキーの並列性を説明できる。
Key points
- DynamoDB Streams
- Ordering
- Item key
- Parallel processing
Notes
- Environment: AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
- Confirm current AWS service behavior in the official DEA-C01 documentation.
Foundation review
Scope of ordering
A service's ordering guarantee applies to a defined key or shard scope, not necessarily the whole table.
Idempotency
Retries should not apply an old event twice or corrupt the current state.