翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
以下のセクションでは、Kinesis プロデューサーライブラリ () を理解して活用するために必要な概念と用語について説明しますKPL。
レコード
このガイドでは、KPLユーザーレコードと Kinesis Data Streams レコードを区別します。修飾語を付けずにレコードという用語を使用する場合は、KPL ユーザーレコードを意味します。Kinesis Data Streams レコードを意味するときは、明示的に Kinesis Data Streams レコードと表現します。
KPL ユーザーレコードは、ユーザーにとって特定の意味のあるデータの BLOB です。例としては、ウェブサイトの UI イベントを表す JSON BLOB や、ウェブサーバーからのログエントリなどがあります。
Kinesis Data Streams レコードは、Kinesis Data Streams サービス によって定義されたRecord
データ構造のインスタンスですAPI。これには、パーティションキー、シーケンス番号、データの BLOB が含まれています。
バッチ処理
バッチ処理は、各項目に対して単一のアクションを繰り返し実行する代わりに、複数の項目に対してそのアクションを実行することを意味します。
ここでは、項目はレコードに対応し、アクションはレコードを Kinesis Data Streams に送信することに対応します。バッチ処理されない状況では、各レコードを個別の Kinesis Data Streams レコードに配置し、Kinesis Data Streams に送信するHTTPリクエストを 1 回行います。バッチ処理では、各HTTPリクエストで 1 つのレコードだけでなく複数のレコードを処理できます。
KPL では、2 種類のバッチ処理がサポートされます。
-
集約 - 複数のレコードを単一の Kinesis Data Streams レコードに保存します。
-
コレクション – APIオペレーション
PutRecords
を使用して、複数の Kinesis Data Streams レコードを Kinesis Data Streams の 1 つ以上のシャードに送信します。
2 種類の KPL バッチ処理は、共存できるように設計されており、互いに独立して有効または無効にできます。デフォルトでは、どちらも有効です。
集計
集約は、複数レコードを 1 つの Kinesis Data Streams レコードに保存することを意味します。集約により、お客様はAPI通話ごとに送信されるレコードの数を増やすことができ、プロデューサーのスループットを効果的に向上させることができます。
Kinesis Data Streams シャードは、1 秒あたり最大で 1,000 レコードまたは 1 MB のスループットをサポートします。1 秒あたりの Kinesis Data Streams レコードの制限により、お客様のレコードは 1 KB 未満に制限されます。レコードの集約を使用すると、複数のレコードを単一の Kinesis Data Streams レコードに結合できます。そのため、お客様はシャードあたりのスループットを改善することができます。
us-east-1 リージョンで、現在 1 秒あたり 1,000 レコードの一定のレートで実行され、それぞれ 512 バイトのレコードがある 1 つのシャードがあるとします。KPL 集約を使用すると、1,000 レコードを 10 個の Kinesis Data Streams レコードにのみパックでき、 を 10 個 (それぞれ 50 KB) RPSに減らすことができます。
収集
コレクションとは、複数の Kinesis Data Streams レコードをバッチ処理し、各 Kinesis Data Streams レコードを独自のHTTPリクエストで送信するのではなくPutRecords
、APIオペレーション を呼び出して 1 つのHTTPリクエストで送信することです。
これにより、多数の個別のHTTPリクエストを行うオーバーヘッドが削減されるため、コレクションを使用しない場合と比較してスループットが向上します。実際、PutRecords
自体が、この目的のために設計されています。
収集は、Kinesis Data Streams レコードのグループを使用している点で集約と異なります。収集された Kinesis Data Streams レコードには、ユーザーの複数のレコードをさらに含めることができます。この関係は、次のように図示できます。
record 0 --|
record 1 | [ Aggregation ]
... |--> Amazon Kinesis record 0 --|
... | |
record A --| |
|
... ... |
|
record K --| |
record L | | [ Collection ]
... |--> Amazon Kinesis record C --|--> PutRecords Request
... | |
record S --| |
|
... ... |
|
record AA--| |
record BB | |
... |--> Amazon Kinesis record M --|
... |
record ZZ--|