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.
Gérez de gros disques
Amazon Kinesis Data Streams prend en charge les enregistrements jusqu'à 10 mégaoctets (). MiBs Cette fonctionnalité est recommandée pour traiter des charges utiles de données intermittentes qui dépassent la limite de taille d'enregistrement par défaut de 1 MiB. La taille d'enregistrement maximale par défaut pour les flux existants et nouvellement créés est fixée à 1 MiB.
Cette fonctionnalité profite aux applications de l'Internet des objets (IoT), aux pipelines de capture des données modifiées (CDC) et aux flux de travail d'apprentissage automatique qui nécessitent le traitement de charges utiles de données parfois plus importantes. Pour commencer à utiliser des enregistrements volumineux dans votre flux, mettez à jour la taille maximale d'enregistrement de votre flux.
Important
La limite de débit de partition individuelle de 1 MB/s pour les écritures et de 2 MB/s pour les lectures reste inchangée, compte tenu de la prise en charge de tailles d'enregistrement plus importantes. Kinesis Data Streams est conçu pour prendre en charge des enregistrements volumineux intermittents ainsi qu'un trafic de base d'enregistrements inférieur ou égal à 1 MiB. Il n'est pas conçu pour permettre l'ingestion prolongée de volumes élevés et records.
Comment fonctionnent les grands disques
Amazon Kinesis Data Streams accepte les enregistrements d'une taille maximale de 10 MiB. Votre flux peut accueillir des enregistrements volumineux en dépassant temporairement son débit d'écriture soutenu, puis en revenant à son taux de référence au fil du temps. Cette capacité de rafale est continuellement renouvelée, de sorte que votre stream peut gérer des enregistrements volumineux intermittents parallèlement au trafic normal sans aucun ajustement manuel de la capacité.
Pour visualiser ce comportement, imaginez la capacité d'écriture de votre stream comme un réservoir qui se recharge à un rythme régulier. Lorsque vous envoyez un enregistrement volumineux, tel qu'un enregistrement de 10 MiB, le réservoir est temporairement épuisé. Il commence alors à se recharger immédiatement, ce qui signifie que vous pouvez continuer à envoyer des disques plus petits au fur et à mesure que la capacité devient disponible.
Le taux de réapprovisionnement des capacités dépend de plusieurs facteurs :
La taille des grands disques
La taille des enregistrements de référence
Le schéma général du trafic sur le stream
La stratégie de clé de partition que vous avez choisie
Pour de meilleurs résultats, utilisez une clé de partition uniformément distribuée pour répartir les enregistrements volumineux sur la capacité disponible du flux.
En mode à la demande, Kinesis Data Streams gère automatiquement la capacité. Votre flux augmente ou diminue son débit en fonction de vos modèles de trafic, et une capacité record en rafale est gérée de manière transparente. Il n'est pas nécessaire de prévoir ou de gérer de la capacité pour utiliser des enregistrements volumineux. Pour plus d'informations sur l'évolution du mode à la demande, voir Fonctionnalités et cas d'utilisation du mode à la demande.
Mettez à jour votre stream pour utiliser des enregistrements volumineux
Pour traiter des enregistrements plus volumineux avec Kinesis Data Streams
Accédez à la console Kinesis Data Streams.
Sélectionnez votre stream, puis accédez à l'onglet Configuration.
Cliquez sur Modifier, qui se trouve à côté de Taille maximale d'enregistrement.
Définissez la taille maximale de votre enregistrement (jusqu'à 10 MiB).
Enregistrez vos modifications.
Ce paramètre ajuste uniquement la taille d'enregistrement maximale pour ce flux de données Kinesis. Avant d'augmenter cette limite, vérifiez que toutes les applications en aval peuvent gérer des enregistrements plus volumineux.
Vous pouvez également mettre à jour ce paramètre à l'aide de la AWS CLI :
aws kinesis update-max-record-size \ --stream-arn \ --max-record-size-in-ki-b 5000
Optimisez les performances de votre streaming avec des enregistrements volumineux
Les grands disques sont conçus pour une utilisation intermittente. Pour de meilleurs résultats, limitez le volume d'enregistrements volumineux à moins de 2 % de votre trafic global. Étant donné que le flux dépasse temporairement son débit soutenu pour fournir un enregistrement volumineux, l'envoi trop fréquent d'enregistrements volumineux peut réduire la capacité disponible pour votre trafic de base. Pour plus d'informations sur l'optimisation des performances de votre streaming avec des enregistrements volumineux, consultez la section Throttling et les meilleures pratiques pour des performances optimales
Atténuez le ralentissement avec des enregistrements volumineux
Étant donné que les enregistrements volumineux consomment temporairement de la capacité en rafale, votre flux peut limiter les écritures suivantes jusqu'à ce que la capacité soit réapprovisionnée. Les étapes suivantes permettent de réduire l'étranglement :
Pour atténuer l'étranglement
Implémentez une logique de nouvelle tentative avec un ralentissement exponentiel dans votre application de production.
Utilisez des clés de partition aléatoires pour distribuer des enregistrements volumineux sur la capacité disponible du flux.
Stockez les charges utiles dans Amazon S3 et envoyez uniquement des références de métadonnées au flux pour les flux continus d'enregistrements volumineux. Pour plus d'informations, consultez la section Traitement d'enregistrements volumineux avec Amazon Kinesis Data Streams
.
Gérez des enregistrements volumineux à l'aide des Kinesis Data Streams APIs
La prise en charge des enregistrements volumineux introduit une nouvelle API et met à jour deux plans de contrôle existants APIs pour gérer jusqu'à 10 enregistrements MiBs.
API pour modifier la taille des enregistrements :
UpdateMaxRecordSize: Configure la limite maximale de taille d'enregistrement pour les flux existants jusqu'à 10 MiBs.
Mises à jour des éléments existants APIs :
CreateStream: ajoute leMaxRecordSizeInKiBparamètre facultatif permettant de définir des limites de taille d'enregistrement lors de la création du flux.DescribeStreamSummary: renvoie leMaxRecordSizeInKiBchamp pour afficher la configuration actuelle du flux.
Tous les flux APIs répertoriés sont rétrocompatibles avec les flux existants. Pour consulter la documentation complète des API, consultez le manuel Amazon Kinesis Data Streams Service API Reference.
AWS composants compatibles avec les grands disques
Les AWS composants suivants sont compatibles avec les enregistrements de grande taille :
| Composant | Description |
|---|---|
|
AWS SDK |
AWS Le SDK prend en charge la gestion d'enregistrements volumineux. Vous pouvez mettre à jour la taille d'enregistrement maximale de votre flux jusqu'à 10 MiB en utilisant les méthodes disponibles dans le. AWS SDKs Pour plus d'informations, consultez la section Utilisation de ce service avec un AWS SDK. |
|
Bibliothèque Kinesis Consumer (KCL) |
À partir de la version 2.x, KCL prend en charge la gestion des enregistrements volumineux. Pour utiliser le support d'enregistrements volumineux, mettez à jour votre stream et utilisez KCL. |
|
Bibliothèque Kinesis Producer (KPL) |
À partir de la version 1.0.5, KPL prend en charge la gestion des enregistrements volumineux. Pour utiliser le support d'enregistrements volumineux, mettez à jour votre stream et utilisez KPL. maxRecordSize Pour plus d'informations, consultez Développer des producteurs à l'aide de la bibliothèque Amazon Kinesis Producer Library (KPL). |
|
Amazon EMR |
Amazon EMR avec Apache Spark prend en charge le traitement d'enregistrements volumineux jusqu'à la limite de Kinesis Data Streams (10). MiBs Pour utiliser le support d'enregistrements volumineux, utilisez la |
|
Amazon Data Firehose |
Lorsqu'il est utilisé avec Kinesis Data Streams, le comportement d'Amazon Data Firehose avec des enregistrements volumineux dépend de la destination de livraison :
Pour les applications nécessitant une livraison à Snowflake ou Redshift avec des enregistrements volumineux, transmettez d'abord les données à Amazon S3. Ensuite, utilisez les processus d'extraction, de transformation, de chargement (ETL) pour charger les données. Pour toutes les autres destinations, testez le comportement avec des enregistrements volumineux dans un proof-of-concept environnement avant de l'adapter à l'utilisation en production. La gestion de gros dossiers varie selon la destination. |
|
AWS Lambda |
AWS Lambda prend en charge des charges utiles jusqu'à 6 MiBs. Cette limite inclut la charge utile Kinesis convertie en codage base-64 et les métadonnées associées au mappage des sources d'événements (ESM). Pour les enregistrements inférieurs à 6 MiBs, Lambda les traite à l'aide d'ESM sans qu'aucune configuration supplémentaire ne soit requise. Pour les enregistrements supérieurs à 6 MiBs, Lambda les traite en utilisant une destination en cas de défaillance. Vous devez configurer une destination en cas de panne à l'aide d'ESM pour gérer les enregistrements qui dépassent les limites de traitement de Lambda. Chaque événement envoyé à la destination en cas d'échec est un document JSON contenant les métadonnées relatives à l'échec de l'invocation. Il est recommandé de créer une destination en cas de défaillance dans l'ESM, quelle que soit la taille de l'enregistrement. Cela garantit qu'aucun enregistrement n'est supprimé. Pour plus d'informations, voir Configuration des destinations en cas d'échec des appels. |
|
Amazon Redshift |
Amazon Redshift prend uniquement en charge les tailles d'enregistrement inférieures à 1 MiB lors du streaming de données depuis Kinesis Data Streams. Les enregistrements qui dépassent cette limite ne sont pas traités. Les enregistrements qui ne sont pas traités sont enregistrés sous le nom de |
|
Connecteur Flink pour Kinesis Data Streams |
Il existe deux approches pour consommer les données issues de Kinesis Data Streams : le connecteur source Kinesis et le connecteur Kinesis Sink. Le connecteur source prend en charge le traitement des enregistrements inférieurs à 1 MiB et jusqu'à 10. MiBs N'utilisez pas le connecteur récepteur pour les enregistrements supérieurs à 1 MiB. Pour plus d'informations, consultez Utiliser des connecteurs pour déplacer des données dans Amazon Managed Service pour Apache Flink avec l' DataStreamAPI. |
Régions où les enregistrements volumineux sont pris en charge
Cette fonctionnalité Amazon Kinesis Data Streams n'est disponible que dans les régions AWS suivantes :
| AWS Région | Nom de la région |
|---|---|
|
eu-north-1 |
Europe (Stockholm) |
|
me-south-1 |
Middle East (Bahrain) |
|
ap-south-1 |
Asie-Pacifique (Mumbai) |
|
eu-west-3 |
Europe (Paris) |
|
ap-southeast-3 |
Asie-Pacifique (Jakarta) |
|
us-east-2 |
USA Est (Ohio) |
|
af-south-1 |
Afrique (Le Cap) |
|
eu-west-1 |
Europe (Irlande) |
|
me-central-1 |
Moyen-Orient (EAU) |
|
eu-central-1 |
Europe (Francfort) |
|
sa-east-1 |
Amérique du Sud (São Paulo) |
|
ap-east-1 |
Asie-Pacifique (Hong Kong) |
|
ap-south-2 |
Asie-Pacifique (Hyderabad) |
|
us-east-1 |
USA Est (Virginie du Nord) |
|
ap-northeast-2 |
Asie-Pacifique (Séoul) |
|
ap-northeast-3 |
Asie-Pacifique (Osaka) |
|
eu-west-2 |
Europe (Londres) |
|
ap-southeast-4 |
Asie-Pacifique (Melbourne) |
|
ap-northeast-1 |
Asie-Pacifique (Tokyo) |
|
us-west-2 |
USA Ouest (Oregon) |
|
us-west-1 |
USA Ouest (Californie du Nord) |
|
ap-southeast-1 |
Asie-Pacifique (Singapour) |
|
ap-southeast-2 |
Asie-Pacifique (Sydney) |
|
il-central-1 |
Israël (Tel Aviv) |
|
ca-central-1 |
Canada (Centre) |
|
ca-west-1 |
Canada-Ouest (Calgary) |
|
eu-south-2 |
Europe (Espagne) |
|
cn-northwest-1 |
Chine (Ningxia) |
|
eu-central-2 |
Europe (Zurich) |
| us-gov-east-1 | AWS GovCloud (USA Est) |
| us-gov-west-1 | AWS GovCloud (US-Ouest) |