Choisissez le bon mode pour diffuser - 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.

Choisissez le bon mode pour diffuser

Les rubriques suivantes expliquent comment choisir le mode le mieux adapté à votre application et comment passer d'un mode à l'autre, si nécessaire.

Quels sont les différents modes de Kinesis Data Streams ?

Un mode détermine comment la capacité d'un flux de données est gérée et comment vous êtes facturé pour l'utilisation de votre flux de données. Dans Amazon Kinesis Data Streams, vous pouvez choisir le mode On-Demand Standard, On-Demand Advantage et le mode provisionné pour vos flux de données.

  • Norme à la demande : les flux de données dotés d'un mode à la demande ne nécessitent aucune planification de capacité et s'adaptent automatiquement pour gérer des gigaoctets de débit d'écriture et de lecture par minute. En mode à la demande, Kinesis Data Streams gère automatiquement les partitions afin de fournir le débit nécessaire.

  • Avantage à la demande : mode au niveau du compte qui offre davantage de fonctionnalités et fournit une structure tarifaire plus simple pour les flux à la demande. Dans ce mode, vous pouvez augmenter de manière proactive la capacité de débit d'écriture d'un flux à tout moment. En ce qui concerne la tarification, il n'y a plus de frais fixes par flux, et les frais d'ingestion, de récupération des données et de rétention prolongée pour tous les flux à la demande sont inférieurs d'au moins 60 % à ceux de la norme On-Demand.

  • Provisionné : pour les flux de données dotés d'un mode 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 dans un flux de données, selon vos besoins.

Vous pouvez utiliser Kinesis Data PutRecord Streams pour écrire PutRecords APIs des données dans vos flux de données dans n'importe quel mode. Pour récupérer des données, les trois modes prennent en charge les consommateurs par défaut qui utilisent l'GetRecordsAPI et les consommateurs EFO (Enhanced Fan-Out) qui utilisent l'API. SubscribeToShard

Toutes les fonctionnalités de Kinesis Data Streams, y compris le mode de rétention, le chiffrement, les mesures de surveillance et autres, sont prises en charge à la fois pour le mode à la demande et le mode provisionné. Kinesis Data Streams garantit une durabilité et une disponibilité élevées à la fois en mode de capacité à la demande et en mode de capacité provisionnée.

Fonctionnalités et cas d'utilisation du mode standard à la demande

Les flux de données en mode à la demande ne nécessitent aucune planification de la capacité et se mettent automatiquement à l'échelle pour gérer des gigaoctets de débit d'écriture et de lecture par minute. Le mode à la demande simplifie l'ingestion et le stockage de gros volumes de données avec une faible latence, car il élimine le provisionnement et la gestion des serveurs, du stockage ou du débit. Vous pouvez ingérer des milliards d'enregistrements par jour sans aucune surcharge opérationnelle.

Le mode à la demande est idéal pour répondre aux besoins d'un trafic d'application très variable et imprévisible. Il n'est plus nécessaire de provisionner ces charges de travail pour une capacité maximale, ce qui peut entraîner des coûts plus élevés pour une faible utilisation. Le mode à la demande convient aux charges de travail caractérisées par des modèles de trafic imprévisibles et très variables.

En mode de capacité à la demande, vous payez par gigaoctet de données écrites et lues à partir de vos flux de données. Il n'est pas nécessaire de spécifier le débit de lecture et d'écriture que vous attendez de votre application. Kinesis Data Streams s'adapte instantanément à vos charges de travail lorsqu'elles augmentent ou diminuent. Pour plus d’informations, consultez la Tarification d’Amazon Kinesis Data Streams.

Un flux de données en mode à la demande peut atteindre le double du débit d'écriture maximal observé au cours des 30 jours précédents. Lorsque le débit d'écriture de votre flux de données atteint un nouveau maximum, Kinesis Data Streams adapte automatiquement la capacité du flux de données. Par exemple, si le débit d'écriture de votre flux de données varie entre 10 MB/s et 40 % du débit MB/s, then Kinesis Data Streams ensures that you can easily burst to double your previous peak throughput, or 80 MB/s. If the same data stream sustains a new peak throughput of 50 MB/s, Kinesis Data Streams ensures that there is enough capacity to ingest 100 MB/s d'écriture. Toutefois, une limitation du nombre d'écritures peut se produire si votre trafic augmente jusqu'à plus du double du maximum précédent dans un délai de 15 minutes. Vous devez réessayer ces demandes limitées.

La capacité de lecture agrégée d'un flux de données en mode à la demande augmente proportionnellement au débit d'écriture. Cela permet de garantir que les applications consommateur disposent toujours d'un débit de lecture suffisant pour traiter les données entrantes en temps réel. Vous obtenez un débit d'écriture au moins deux fois supérieur à celui des données lues à l'aide de l'API GetRecords. Nous vous recommandons d'utiliser une seule application consommateur avec l'API GetRecord, afin qu'elle dispose d'assez de marge pour rattraper son retard en cas de nécessité de récupération après une interruption. Il est recommandé d'utiliser la fonctionnalité de débit amélioré Enhanced Fan-Out de Kinesis Data Streams pour les scénarios nécessitant l'ajout de plusieurs applications consommateur. La fonctionnalité de débit amélioré Enhanced Fan-Out permet d'ajouter jusqu'à 20 consommateurs à un flux de données à l'aide de l'API SubscribeToShard, chaque application consommateur bénéficiant d'un débit dédié.

Gérer les exceptions de débit de lecture et d'écriture

Avec le mode à la demande (identique au mode capacité provisionnée), vous devez spécifier une clé de partition pour chaque enregistrement afin d'écrire des données dans votre flux de données. Kinesis Data Streams utilise vos clés de partition pour répartir les données entre les partitions. Kinesis Data Streams surveille le trafic de chaque partition. Lorsque le trafic entrant dépasse 500 KB/s par partition, il divise la partition en 15 minutes. Les valeurs de la clé de hachage de la partition parent sont redistribuées uniformément sur les partitions enfants.

Si votre trafic entrant dépasse le double du maximum précédent, vous pouvez rencontrer des exceptions de lecture ou d'écriture pendant environ 15 minutes, même si vos données sont réparties de manière uniforme sur l'ensemble des partitions. Nous vous recommandons de réessayer toutes ces demandes afin que tous les enregistrements soient correctement stockés dans Kinesis Data Streams.

Il est possible que vous rencontriez des exceptions de lecture et d'écriture si vous utilisez une clé de partition qui entraîne une distribution inégale des données et que les enregistrements attribués à une partition particulière dépassent les limites de cette dernière. Avec le mode à la demande, le flux de données s'adapte automatiquement pour gérer les modèles de distribution de données inégaux, sauf si une clé de partition dépasse les limites de 1 MB/s débit et de 1 000 enregistrements par seconde d'une partition.

En mode à la demande, Kinesis Data Streams fractionne les partitions de manière égale lorsqu'il détecte une augmentation du trafic. Toutefois, il ne détecte ni n'isole les clés de hachage qui acheminent une plus grande partie du trafic entrant vers une partition donnée. Si vous utilisez des clés de partition très inégales, il se peut que vous continuiez à recevoir des exceptions d'écriture. Pour de tels cas d'utilisation, nous vous recommandons d'utiliser le mode de capacité provisionnée qui prend en charge les fractionnements granulaires des partitions.

Fonctionnalités et cas d'utilisation du mode Advantage à la demande

On-Demand Advantage est un paramètre au niveau du compte qui débloque davantage de fonctionnalités et fournit une structure tarifaire différente pour tous les flux à la demande de la région. Dans ce mode, les flux à la demande conservent leurs fonctionnalités et continuent à adapter automatiquement la capacité en fonction de l'utilisation réelle des données. Si vous souhaitez réchauffer de manière proactive la capacité de débit d'écriture d'un flux, vous pouvez configurer le débit chaud. Par exemple, si votre flux de données a un débit d'écriture compris entre 10 MB/s et 40, MB/s, you can expect it to handle up to 80MB/s of instant throughput increases without throttling. However, if you forecast an upcoming event to peak around 200MB/s of traffic, you can configure the stream with a warm throughput of 200MB/s pour garantir que la capacité est disponible lorsque le débit de données arrive. L'utilisation du débit à chaud n'entraîne pas de frais supplémentaires.

Un autre avantage du mode On-Demand Advantage est que les flux à la demande passent à une structure tarifaire plus simple. Lorsque le mode est activé, le compte ne sera plus soumis à des frais fixes par stream, et vous ne vous occuperez que de l'ingestion et de la récupération des données, ainsi que des frais de rétention prolongés facultatifs. Chaque dimension tarifaire bénéficie également d'une réduction significative par rapport à la dimension correspondante dans On-Demand Standard. Pour plus d’informations, consultez la Tarification d’Amazon Kinesis Data Streams.

Les extractions de données améliorées par ventilateur ne sont pas non plus coûteuses par rapport aux extractions de données standard dans ce mode. De plus, avec le mode On-Demand Advantage, vous pouvez enregistrer jusqu'à 50 consommateurs par stream afin de bénéficier d'un fan-out amélioré. L'activation de On-Demand Advantage engage le compte à récupérer au moins 25 % MiB/s of data ingest and 25MiB/s des données sur tous les flux à la demande. Pour les comptes qui répondent aux exigences d'utilisation minimale, la console Kinesis Data Streams vérifie si les habitudes d'utilisation de votre compte sont adaptées à l'utilisation du mode On-Demand Advantage.

Si la consommation de données de votre compte est inférieure aux exigences, la différence vous sera facturée à titre de déficit, mais le tarif réduit restera le même. L'activation de On-Demand Advantage dispose également d'un délai minimum de 24 heures avant de pouvoir désactiver le mode. Dans l'ensemble, On-Demand Advantage est le meilleur moyen de diffuser avec Kinesis Data Streams si vous avez une utilisation constante du débit proche ou supérieure à l'engagement minimum, si vous avez besoin de nombreux clients fans ou si vous travaillez avec des centaines de flux de données.

Fonctionnalités et cas d'utilisation du mode provisionné

En mode provisionné, après avoir créé le flux de données, vous pouvez augmenter ou diminuer dynamiquement la capacité de votre partition à l'aide de l'API AWS Management Console ou de l'UpdateShardCountAPI. Vous pouvez effectuer des mises à jour pendant qu'une application producteur ou consommateur de Kinesis Data Streams écrit ou lit des données dans le flux.

Le mode provisionné est adapté à un trafic prévisible dont les besoins en capacité sont faciles à prévoir. Vous pouvez utiliser le mode provisionné si vous souhaitez un contrôle précis sur la manière dont les données sont distribuées à travers les partitions.

En mode provisionné, vous devez spécifier le nombre de partitions du flux de données. Pour déterminer la taille d'un flux de données en mode provisionné, vous avez besoin des valeurs d'entrée suivantes :

  • Taille moyenne des enregistrements de données écrits dans le flux en kilo-octets (Ko), arrondie au Ko le plus proche (average_data_size_in_KB).

  • Nombre d'enregistrements de données devant être ajoutés au flux et lus depuis celui-ci, par seconde (records_per_second).

  • Nombre de consommateurs, c'est-à-dire d'applications Kinesis Data Streams qui consomment des données simultanément et indépendamment du flux (number_of_consumers).

  • Bande passante d'écriture entrante en Ko (incoming_write_bandwidth_in_KB), qui est égale à la taille average_data_size_in_KB multipliée par la valeur de records_per_second.

  • Bande passante de lecture sortante en Ko (outgoing_read_bandwidth_in_KB), qui est égale à la taille incoming_write_bandwidth_in_KB multipliée par la valeur de number_of_consumers.

Vous pouvez calculer le nombre initial de partitions (number_of_shards) dont votre flux a besoin en utilisant les valeurs d'entrée de la formule ci-dessous.

number_of_shards = ceiling(max(incoming_write_bandwidth_in_KiB/1024, outgoing_read_bandwidth_in_KiB/2048))

Vous pouvez toujours rencontrer des exceptions de débit de lecture et d'écriture en mode provisionné si vous ne configurez pas votre flux de données pour gérer votre débit maximal. Dans ce cas, vous devez mettre à l'échelle manuellement votre flux de données pour l'adapter à votre trafic de données.

Il est également possible que vous rencontriez des exceptions de lecture et d'écriture si vous utilisez une clé de partition qui entraîne une distribution inégale des données et que les enregistrements attribués à une partition dépassent les limites de cette dernière. Pour résoudre ce problème en mode provisionné, identifiez ces partitions et fractionnez-les manuellement afin de mieux s'adapter à votre trafic. PoPour plus d'informations, consultez la rubrique Repartitionnement d'un flux (français non garanti).

Basculer entre les modes

Pour chaque flux de données de votre appareil Compte AWS, vous pouvez passer du mode à la demande au mode provisionné deux fois en 24 heures. Le passage d'un mode à l'autre ne perturbe pas vos applications qui utilisent ce flux de données. Vous pouvez continuer à écrire et à lire dans ce flux de données. Lorsque vous passez d'un mode à l'autre, du mode à la demande au mode provisionné ou du mode provisionné au mode à la demande, le statut du flux est défini sur Mise à jour. Vous devez attendre que l'état du flux de données passe à Actif afin de pouvoir modifier à nouveau ses propriétés.

Lorsque vous passez du mode capacité provisionnée au mode capacité à la demande, votre flux de données conserve initialement le nombre de partitions qu'il possédait avant la transition. À partir de ce moment, Kinesis Data Streams surveille votre trafic de données et adapte le nombre de partitions de ce flux de données à la demande en fonction de votre débit d'écriture. Lorsque vous passez du mode à la demande au mode provisionné, votre flux de données conserve initialement le nombre de partitions qu'il possédait avant la transition, mais à partir de ce moment, il vous incombe de surveiller et d'ajuster le nombre de partitions de ce flux de données afin de l'adapter correctement à votre débit d'écriture.

Vous pouvez passer du mode On-Demand Standard au mode On-Demand Advantage en activant un paramètre au niveau du compte. Lorsqu'il est activé, le compte s'engage à utiliser au moins 25 MiB/s of data ingest and 25MiB/s % de la récupération de données sur tous les flux à la demande de la région. Une fois activé, vous devez attendre au moins 24 heures avant de pouvoir désactiver On-Demand Advantage, mais vous pouvez demander la modification à tout moment. Si vous souhaitez passer d'On-Demand Advantage à On-Demand Standard, vous devez d'abord supprimer tout débit chaud configuré avec des flux à la demande.