Terminologie et concepts Amazon Kinesis Data Streams - 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.

Terminologie et concepts Amazon Kinesis Data Streams

Lorsque vous démarrez avec Amazon Kinesis Data Streams, il est important de bien comprendre son architecture et la terminologie correspondante.

Architecture de haut niveau Kinesis Data Streams

Le diagramme suivant illustre l'architecture de haut niveau de Kinesis Data Streams. Leproducteurstransférer continuellement les données vers Kinesis Data Streams, et leconsommateurstraiter les données en temps réel. Les applications consommateur (par exemple, une application personnalisée s'exécutant sur Amazon EC2 ou un flux de diffusion Amazon Kinesis Data Firehose) peuvent stocker leurs résultats à l'aide d'unAWSservice tel qu'Amazon DynamoDB, Amazon Redshift ou Amazon S3.


                Diagramme d'architecture de haut niveau Kinesis Data Streams

Terminologie Kinesis Data Streams

Kinesis Data Streams

UNKinesis Data Streamsest un ensemble deéclats. Chaque partition comporte une séquence d'enregistrements de données. Chaque enregistrement de données a uneNuméro de séquencequi est attribué par Kinesis Data Streams.

Enregistrement de données

UNenregistrement de donnéesest l'unité de données stockée dans unKinesis Data Streams. Les enregistrements de données sont composés d'unNuméro de séquence, unclé de partition, et un blob de données, qui est une séquence immuable d'octets. Kinesis Data Streams n'inspecte pas, n'interprète pas ou ne modifie aucunement les données présentes dans le blob. Un blob de données peut atteindre 1 Mo.

Mode de capacité

Un flux de donnéesmode de capacitédétermine comment la capacité est gérée et comment vous êtes facturé pour l'utilisation de votre flux de données. Actuellement, dans Kinesis Data Streams, vous pouvez choisir entre unA la demandeet unprovisionnépour vos flux de données. Pour plus d'informations, consultez Choix du mode de capacité du flux de données.

Avec l’A la demande, Kinesis Data Streams gère automatiquement les partitions afin de fournir le débit nécessaire. Vous n'êtes facturé que pour le débit réel que vous utilisez et Kinesis Data Streams répond automatiquement aux besoins de débit de vos charges de travail lorsqu'elles augmentent ou diminuent. Pour plus d'informations, consultez Mode à la demande.

Avec l’provisionné, vous devez spécifier le nombre de partitions pour le flux de données. La capacité totale d'un flux de données est la somme des capacités de ses partitions. Vous pouvez augmenter ou diminuer le nombre de partitions présentes dans un flux de données si nécessaire et le nombre de partitions est facturé à un taux horaire pour le nombre de partitions. Pour plus d'informations, consultez Mode alloué.

Période de conservation

La période de conservation correspond à la durée pendant laquelle les enregistrements de données sont accessibles après avoir été ajoutés au flux. La période de conservation d'un flux a une valeur par défaut de 24 heures après la création. Vous pouvez augmenter la période de conservation jusqu'à8760heures (365jours) en utilisant leIncreaseStreamRetentionPeriodet réduisez la période de conservation jusqu'à un minimum de 24 heures à l'aide de laDecreaseStreamRetentionPeriod. Des frais supplémentaires s'appliquent pour les flux dont la période de conservation définie est supérieure à 24 heures. Pour en savoir plus, consultez la Tarification Amazon Kinesis Data Streams.

Producer

Producteursplacer des enregistrements dans Amazon Kinesis Data Streams. Par exemple, un serveur Web qui envoie des données de journal dans un flux est un producteur.

Consumer

Consommateursobtenir des enregistrements d'Amazon Kinesis Data Streams et les traiter. Ces applications consommateur s'appellent Application Amazon Kinesis Data Streams.

Application Amazon Kinesis Data Streams

UnApplication Amazon Kinesis Data Streamsest une application utilisant un flux qui est généralement exécuté sur une flotte d'instances EC2.

Il existe deux types de consommateurs que vous pouvez développer : les consommateurs de diffusion partagée et les consommateurs de diffusion améliorée. Pour en savoir plus sur les différences entre ces deux types, et pour savoir comment créer chaque type de consommateur, consultez Lecture de données à partir d'Amazon Kinesis Data Streams.

La sortie d'une application Kinesis Data Streams peut servir d'entrée à un autre flux, ce qui vous permet de créer des topologies complexes qui traitent des données en temps réel. Une application peut également envoyer des données à divers autresAWSServices . Il peut y avoir plusieurs applications pour un seul flux, et chaque application peut utiliser des données du flux indépendamment et simultanément.

Shard

Une partition est une séquence d'enregistrements de données appartenant à un flux et identifiée de manière unique. Un flux se compose d'une ou plusieurs partitions, chacune fournissant une unité de capacité fixe. Chaque partition peut prendre en charge jusqu'à 5 transactions par seconde pour les lectures, jusqu'à un débit total maximal de lecture de données de 2 Mo par seconde et jusqu'à 1 000 enregistrements par seconde pour les écritures, jusqu'à un taux d'écriture total maximal de 1 Mo par seconde (clés de partition incluses). La capacité de données de votre flux dépend du nombre de partitions que vous spécifiez pour le flux. La capacité totale du flux est la somme des capacités de ses shards.

Si votre débit de données augmente, vous pouvez augmenter ou diminuer le nombre de partitions allouées à votre flux. Pour plus d'informations, consultez Repartitionnement d'un flux.

Clé de partition

UNclé de partitionsert à grouper des données par partition dans un flux. Kinesis Data Streams sépare les enregistrements de données appartenant à un flux en plusieurs partitions. Il utilise la clé de partition associée à chaque enregistrement de données pour déterminer à quelle partition un enregistrement de données spécifique appartient. Les clés de partition sont des chaînes Unicode, avec une longueur maximale de 256 caractères pour chaque clé. La fonction de hachage MD5 sert à mapper les clés de partition à des valeurs d'entier de 128 bits et à mapper aux partitions les enregistrements de données qui leur sont associés à l'aide des plages de clés de hachage des partitions. Lorsqu'une application place des données dans un flux, elle doit spécifier une clé de partition.

Numéro de séquence

Chaque enregistrement de données a uneNuméro de séquencequi est unique par clé de partition au sein de sa partition. Kinesis Data Streams attribue le numéro de séquence une fois que vous avez écrit dans le flux avecclient.putRecordsouclient.putRecord. Les numéros de séquence correspondant à une même clé de partition deviennent généralement de plus en plus longs au fil du temps. Plus le délai entre les demandes d'écriture est élevé, plus les numéros de séquence sont longs.

Note

Les numéros de séquence ne peuvent pas servir d'index aux ensembles de données d'un même flux. Pour séparer logiquement les ensembles de données, utilisez des clés de partition ou créez un flux distinct pour chaque ensemble de données.

Bibliothèque client Kinesis

La bibliothèque client Kinesis est compilée dans votre application pour permettre une consommation de données tolérante aux pannes à partir du flux. La bibliothèque client Kinesis garantit la présence, pour chaque partition, d'un processeur d'enregistrements qui s'exécute et traite cette partition. La bibliothèque simplifie également la lecture des données dans le flux. La bibliothèque client Kinesis utilise une table Amazon DynamoDB pour stocker les données de contrôle. Elle crée une seule table par application qui traite des données.

Il existe deux versions majeures de la bibliothèque client Kinesis. Celle que vous utilisez dépend du type de consommateur que vous souhaitez créer. Pour plus d'informations, consultez Lecture de données à partir d'Amazon Kinesis Data Streams.

Nom de l'application

Le nom d'une application Amazon Kinesis Data Streams identifie l'application. Chacune de vos applications doit avoir un nom unique défini pour laAWScompte et région utilisés par l'application. Ce nom sert de nom à la table de contrôle dans Amazon DynamoDB et à l'espace de noms pour les métriques Amazon CloudWatch.

Chiffrement côté serveur

Amazon Kinesis Data Streams peut chiffrer automatiquement des données sensibles lorsqu'un producteur les saisit dans un flux. Utilisation de Kinesis Data StreamsAWS KMSclés principales pour le chiffrement. Pour plus d'informations, consultez Protection des données dans Amazon Kinesis Data Streams.

Note

Pour lire un flux chiffré ou écrire sur un flux chiffré, les applications producteur et consommateur doivent disposer d'autorisations pour accéder à la clé principale. Pour plus d'informations sur l'octroi d'autorisations à des applications producteur et consommateur, consultez Autorisations d'utilisation de clés principales KMS générées par l'utilisateur.

Note

Le chiffrement côté serveur entraîne des coûts AWS Key Management Service (AWS KMS). Pour de plus amples informations, veuillez consulterAWSTarification des services de gestion des clés.