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.
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
Il est recommandé de conserver des enregistrements volumineux à moins de 2 % de votre trafic global. Dans un flux, chaque partition a une capacité de débit de 1 MiB par seconde. Pour gérer des enregistrements volumineux, Kinesis Data diffuse des données en rafale jusqu'à 10 MiBs, avec une moyenne de 1 MiB par seconde. Cette capacité à prendre en charge des enregistrements volumineux est continuellement réinjectée dans le flux. Le taux de remplissage dépend de la taille des grands enregistrements et de la taille de l'enregistrement de référence. Pour de meilleurs résultats, utilisez une clé de partition uniformément distribuée. Pour plus d'informations sur l'évolution de Kinesis On-Demand, consultez la section Fonctionnalités et cas d'utilisation du mode à la demande.
Atténuez le ralentissement avec des enregistrements volumineux
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 répartir les enregistrements volumineux sur les partitions disponibles.
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) |