Amazon Kinesis Data Streamsにおける「シャード(shard)」とは、
データのスループット(取り込み・読取り能力)を決定する基本的な単位です。
1つのデータストリームは複数のシャードで構成されており、スケーラブルなデータ取り込み・処理が可能になっています。
🔹 シャードの役割
それぞれのシャードは次のような能力を持っています:
操作 | スループット(1シャードあたり) |
---|---|
書き込み(Put) | 1秒あたり最大1,000レコード または 1MB |
読み込み(Get) | 1秒あたり最大2MB |
🔹 シャードの仕組み(イメージ)
+------------------------------+
| Kinesis Data Stream |
+------------------------------+
| Shard 1 | Shard 2 |
| (write/read) | (write/read)|
+---------------+-------------+
- 書き込み側(Producer)がデータを送信するとき、パーティションキーに基づいてどのシャードに格納されるかが決まります。
- 読み込み側(Consumer)は各シャードから独立してデータを取得できます。
🔹 スケーリングについて
- スループットが足りない場合は、シャード数を増やすことで対応します(手動または自動スケーリング)。
- 逆に、不要なシャードを削除してコストを削減することも可能です。
🔹 まとめ
項目 | 内容 |
---|---|
シャードとは | スループットを決定する基本単位 |
書き込み能力 | 1MB/秒 or 1000レコード/秒 |
読み込み能力 | 2MB/秒 |
拡張性 | シャードを増やしてスケーリング可能 |