Events arrive from many sensors into Kinesis Data Streams.
Distribute records across shards to avoid throttling caused by a single sensor or value.
Which design is most appropriate?
Use a sufficiently high-cardinality partition key, such as a sensor identifier, to distribute records.
Detailed explanation
All records hash to the same partition and can exhaust one shard.
All records hash to the same partition and can exhaust one shard.
A shared value still produces a biased partition and does not distribute senders.
A shared value still produces a biased partition and does not distribute senders.
Many distinct key values distribute records across shards and reduce hot-shard risk.
Many distinct key values distribute records across shards and reduce hot-shard risk.
Retries recover failed requests but do not remove the underlying key skew.
Retries recover failed requests but do not remove the underlying key skew.
Check official documentation
Compare the following points with the official documentation.
Kinesis Data Streamsのpartition keyとシャード分散、スロットリングの公式説明を確認する。
What to confirm
再試行と、パーティション分散によるスロットリング対策を区別できる。
Key points
- Partition key
- Shard
- Hot shard
- Throttling
Notes
- Environment: AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
- Confirm current AWS service behavior in the official DEA-C01 documentation.
Foundation review
Distribution
Many distinct, reasonably balanced keys spread records across shards.
Ordering trade-off
Records sharing a key preserve their ordering relationship, while different keys can be distributed independently.