KPL concepts clés - Amazon Kinesis Data Streams

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

KPL concepts clés

Les sections suivantes contiennent les concepts et la terminologie nécessaires pour comprendre et tirer parti de la Kinesis Producer Library ()KPL.

Enregistrements

Dans ce guide, nous distinguons les enregistrements KPL utilisateur des enregistrements Kinesis Data Streams. Lorsque nous utilisons le terme enregistrement sans qualificatif, nous faisons référence à un enregistrement KPL utilisateur. Lorsque nous faisons référence à un enregistrement Kinesis Data Streams, il est explicitement question d'enregistrement Kinesis Data Streams.

Un enregistrement KPL utilisateur est un bloc de données qui a une signification particulière pour l'utilisateur. Les exemples incluent un JSON blob représentant un événement d'interface utilisateur sur un site Web ou une entrée de journal provenant d'un serveur Web.

Un enregistrement Kinesis Data Streams est une instance de Record la structure de données définie par le service Kinesis Data Streams. API Il contient une clé de partition, un numéro de séquence et un blob de données.

Traitement par lot

Le traitement par lot consiste à exécuter une action sur plusieurs éléments au lieu d'exécuter cette action à plusieurs reprises sur chaque élément individuel.

Dans ce contexte, l'« élément » est un enregistrement et l'action est l'envoi de cet enregistrement à Kinesis Data Streams. En l'absence de traitement par lots, vous devez placer chaque enregistrement dans un enregistrement Kinesis Data Streams distinct et faire une HTTP demande pour l'envoyer à Kinesis Data Streams. Avec le traitement par lots, chaque HTTP demande peut contenir plusieurs enregistrements au lieu d'un seul.

Il KPL prend en charge deux types de traitement par lots :

  • Regroupement : stockage de plusieurs enregistrements dans un seul enregistrement Kinesis Data Streams.

  • Collecte : utilisation de l'APIopération PutRecords pour envoyer plusieurs enregistrements Kinesis Data Streams vers une ou plusieurs partitions de votre flux de données Kinesis.

Les deux types de traitement par KPL lots sont conçus pour coexister et peuvent être activés ou désactivés indépendamment l'un de l'autre. Par défaut, les deux types sont activés.

Agrégation

Le regroupement consiste à stocker plusieurs enregistrements dans un enregistrement Kinesis Data Streams. L'agrégation permet aux clients d'augmenter le nombre d'enregistrements envoyés par API appel, ce qui augmente efficacement le débit des producteurs.

Les partitions Kinesis Data Streams acceptent jusqu'à 1 000 enregistrements Kinesis Data Streams par seconde, soit un débit de 1 Mo. Le nombre limite d'enregistrements Kinesis Data Streams par seconde force les clients à avoir des enregistrements inférieurs à 1 Ko. Le regroupement des enregistrements permet aux clients de combiner plusieurs enregistrements en un seul enregistrement Kinesis Data Streams. Cela permet aux clients d'améliorer leur débit par partition.

Prenons le cas d'une partition dans la région us-east-1 qui fonctionne actuellement à un rythme constant de 1 000 enregistrements par seconde, avec des enregistrements de 512 octets chacun. Grâce à KPL l'agrégation, vous pouvez regrouper 1 000 enregistrements dans seulement 10 enregistrements Kinesis Data Streams, ce qui réduit RPS le nombre à 10 (à 50 Ko chacun).

Collection

La collecte consiste à regrouper plusieurs enregistrements Kinesis Data Streams et à les envoyer en une HTTP seule demande avec un appel à API l'PutRecordsopération, au lieu d'envoyer chaque enregistrement Kinesis Data Streams dans sa propre demande. HTTP

Cela augmente le débit par rapport à l'absence de collecte, car cela réduit les frais liés à l'envoi de nombreuses HTTP demandes distinctes. En fait, l'API PutRecords elle-même a été spécifiquement conçue à cet effet.

La collecte est différente du regroupement en cela qu'elle utilise des groupes d'enregistrements Kinesis Data Streams. Les enregistrements Kinesis Data Streams collectés peuvent encore contenir plusieurs enregistrements provenant de l'utilisateur. La relation peut être visualisée comme suit :

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--|