Q1. IoTプラットフォームのテレメトリを Amazon Kinesis Data Streams で受け取ります。ピーク時の流量は毎秒20,000レコード、レコード平均サイズは600バイト(合計約12MB/秒)です。プロビジョンドモードで必要な最小シャード数はいくつですか?
- A. 12シャード
- B. 20シャード
- C. 32シャード
- D. 1シャード(レコードをバッチ化すれば1シャードで足りる)
答えと解説を見る
正解:B
A スループット(12MB/秒 ÷ 1MB/秒)だけを見た値。シャードには1秒あたり1,000レコードという書き込み回数の上限もあり、20,000レコード/秒はこの数では処理しきれない
B(正解) 正解。シャードあたりの書き込み上限は1MB/秒かつ1,000レコード/秒。データ量では12、レコード数では20が必要となり、大きい方の20が最小値になる
C 12と20を足した値だが、2つの上限は同時に適用される独立した制約であり、加算するものではない。過剰プロビジョニングとなりシャード時間の無駄なコストが発生する
D PutRecordsによるバッチ送信はAPI呼び出し回数を減らすだけで、シャード側で数えられるレコード数やバイト数は変わらない。集約を使ってもシャードの帯域上限1MB/秒は超えられない