Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Gestisci dischi di grandi dimensioni
Amazon Kinesis Data Streams supporta record fino a 10 MiBs mebibyte (). Questa funzionalità è consigliata per l'elaborazione di payload di dati intermittenti che superano il limite predefinito di dimensione del record di 1 MiB. La dimensione massima di registrazione predefinita per gli stream esistenti e quelli appena creati è impostata su 1 MiB.
Questa funzionalità offre vantaggi alle applicazioni Internet of Things (IoT), alle pipeline di acquisizione dei dati di modifica (CDC) e ai flussi di lavoro di apprendimento automatico che richiedono l'elaborazione di payload di dati occasionali più grandi. Per iniziare a utilizzare record di grandi dimensioni nel tuo stream, aggiorna il limite massimo di dimensione dei record dello stream.
Importante
Il limite di velocità effettiva dei singoli shard, pari a 1 MB/s per le scritture e 2 MB/s per le letture, rimane invariato e supporta record di dimensioni maggiori. Kinesis Data Streams è progettato per ospitare record intermittenti di grandi dimensioni insieme a un traffico di record di base inferiore o uguale a 1 MiB. Non è progettato per consentire l'ingestione sostenuta di record di grandi dimensioni e ad alto volume.
Aggiorna lo stream per utilizzare record di grandi dimensioni
Per elaborare record di grandi dimensioni con Kinesis Data Streams
Accedere alla console Kinesis Data Streams.
Seleziona il tuo stream e vai alla scheda Configurazione.
Fai clic su Modifica, che si trova accanto a Dimensione massima del record.
Imposta la dimensione massima del record (fino a 10 MiB).
Salvare le modifiche.
Questa impostazione regola solo la dimensione massima del record per questo flusso di dati Kinesis. Prima di aumentare questo limite, verifica che tutte le applicazioni downstream siano in grado di gestire record più grandi.
Puoi anche aggiornare questa impostazione utilizzando la AWS CLI:
aws kinesis update-max-record-size \ --stream-arn \ --max-record-size-in-ki-b 5000
Ottimizza le prestazioni dello streaming con record di grandi dimensioni
Si consiglia di mantenere record di grandi dimensioni, inferiori al 2% del traffico complessivo. In uno stream, ogni shard ha una capacità di throughput di 1 MiB al secondo. Per ospitare record di grandi dimensioni, Kinesis Data invia flussi fino a 10 MiBs, con una media di 1 MiB al secondo. Questa capacità di supportare record di grandi dimensioni viene continuamente inserita nel flusso. La velocità di ricarica dipende dalla dimensione dei dischi di grandi dimensioni e dalla dimensione del record di base. Per ottenere risultati ottimali, utilizzate una chiave di partizione distribuita uniformemente. Per ulteriori informazioni sulla scalabilità on-demand di Kinesis, consulta Funzionalità e casi d'uso della modalità On-demand.
Riduci le limitazioni con dischi di grandi dimensioni
Per mitigare la limitazione
Implementa la logica dei tentativi con back-off esponenziale nella tua applicazione di produzione.
Usa chiavi di partizione randomizzate per distribuire record di grandi dimensioni tra gli shard disponibili.
Archivia i payload in Amazon S3 e invia solo riferimenti di metadati allo stream per flussi continui di record di grandi dimensioni. Per ulteriori informazioni, consulta Elaborazione di record di grandi dimensioni con Amazon Kinesis Data Streams
.
Gestisci record di grandi dimensioni utilizzando Kinesis Data Streams APIs
Il supporto per record di grandi dimensioni introduce una nuova API e aggiorna due piani di controllo esistenti APIs per gestire record fino a 10. MiBs
API per modificare la dimensione dei record:
UpdateMaxRecordSize: configura il limite massimo di dimensione dei record per gli stream esistenti fino a 10. MiBs
Aggiornamenti a quelli esistenti: APIs
CreateStream: aggiunge ilMaxRecordSizeInKiBparametro opzionale per impostare i limiti di dimensione dei record durante la creazione dello stream.DescribeStreamSummary: restituisce ilMaxRecordSizeInKiBcampo per mostrare la configurazione corrente dello stream.
Tutti gli APIs elenchi mantengono la compatibilità con le versioni precedenti per gli stream esistenti. Per la documentazione completa sulle API, consulta il riferimento alle API del servizio Amazon Kinesis Data Streams.
AWS componenti compatibili con record di grandi dimensioni
I seguenti AWS componenti sono compatibili con dischi di grandi dimensioni:
| Componente | Description |
|---|---|
|
AWS SDK |
AWS L'SDK supporta la gestione di record di grandi dimensioni. Puoi aggiornare la dimensione massima di registrazione del tuo stream fino a 10 MiB utilizzando i metodi disponibili in. AWS SDKs Per ulteriori informazioni, consulta Usare questo servizio con un SDK. AWS |
|
Libreria per consumatori Kinesis (KCL) |
A partire dalla versione 2.x, KCL supporta la gestione di record di grandi dimensioni. Per utilizzare il supporto per record |
|
Libreria Kinesis Producer (KPL) |
A partire dalla versione 1.0.5, KPL supporta la gestione di record di grandi dimensioni. Per utilizzare il supporto per record maxRecordSize di grandi dimensioni, aggiorna il tuo stream e usa KPL. Per ulteriori informazioni, consulta Sviluppare produttori utilizzando Amazon Kinesis Producer Library (KPL). |
|
Amazon EMR |
Amazon EMR con Apache Spark supporta la gestione di record di grandi dimensioni fino al limite di Kinesis Data Streams (10). MiBs Per utilizzare il supporto per record di grandi dimensioni, usa la funzione. |
|
Amazon Data Firehose |
Se utilizzato con Kinesis Data Streams, il comportamento di Amazon Data Firehose con record di grandi dimensioni dipende dalla destinazione di consegna:
Per le applicazioni che richiedono la consegna a Snowflake o Redshift con record di grandi dimensioni, invia prima i dati ad Amazon S3. Successivamente, utilizza i processi Extract, Transform, Load (ETL) per caricare i dati. Per tutte le altre destinazioni, testate il comportamento con record di grandi dimensioni in un proof-of-concept ambiente prima di passare all'utilizzo in produzione. La gestione di record di grandi dimensioni varia in base alla destinazione. |
|
AWS Lambda |
AWS Lambda supporta carichi utili fino a 6 MiBs. Questo limite include il payload Kinesis convertito in codifica base-64 e i metadati associati a Event Source Mapping (ESM). Per i record inferiori a 6 MiBs, Lambda li elabora utilizzando ESM senza richiedere alcuna configurazione aggiuntiva. Per i record superiori a 6 MiBs, Lambda li elabora utilizzando una destinazione in caso di errore. È necessario configurare una destinazione in caso di errore utilizzando ESM per gestire i record che superano i limiti di elaborazione di Lambda. Ogni evento inviato alla destinazione in caso di errore è un documento JSON che contiene metadati relativi alla chiamata non riuscita. Si consiglia di creare una destinazione in caso di errore nell'ESM, indipendentemente dalla dimensione del record. Ciò garantisce che nessun record venga eliminato. Per ulteriori informazioni, vedere Configurazione delle destinazioni per le chiamate non riuscite. |
|
Amazon Redshift |
Amazon Redshift supporta solo record di dimensioni inferiori a 1 MiB durante lo streaming di dati da Kinesis Data Streams. I record che superano questo limite non vengono elaborati. I record che non vengono elaborati vengono registrati come |
|
Connettore Flink per Kinesis Data Streams |
Esistono due approcci per consumare i dati da Kinesis Data Streams: il connettore sorgente Kinesis e il connettore sink Kinesis. Il connettore sorgente supporta la gestione di record inferiori a 1 MiB e fino a 10. MiBs Non utilizzare il connettore sink per dischi di dimensioni superiori a 1 MiB. Per ulteriori informazioni, consulta Usare i connettori per spostare i dati in Amazon Managed Service for Apache Flink con l' DataStreamAPI. |
Regioni in cui sono supportati record di grandi dimensioni
Questa funzionalità di Amazon Kinesis Data Streams è disponibile solo nelle AWS seguenti regioni:
| AWS Regione | Nome della regione |
|---|---|
|
eu-north-1 |
Europa (Stoccolma) |
|
me-south-1 |
Medio Oriente (Bahrein) |
|
ap-south-1 |
Asia Pacifico (Mumbai) |
|
eu-west-3 |
Europa (Parigi) |
|
ap-southeast-3 |
Asia Pacifico (Giacarta) |
|
us-east-2 |
Stati Uniti orientali (Ohio) |
|
af-south-1 |
Africa (Città del Capo) |
|
eu-west-1 |
Europa (Irlanda) |
|
me-central-1 |
Medio Oriente (Emirati Arabi Uniti) |
|
eu-central-1 |
Europa (Francoforte) |
|
sa-east-1 |
Sud America (San Paolo) |
|
ap-east-1 |
Asia Pacifico (Hong Kong) |
|
ap-south-2 |
Asia Pacifico (Hyderabad) |
|
us-east-1 |
Stati Uniti orientali (Virginia settentrionale) |
|
ap-northeast-2 |
Asia Pacifico (Seoul) |
|
ap-northeast-3 |
Asia Pacifico (Osaka) |
|
eu-west-2 |
Europa (Londra) |
|
ap-southeast-4 |
Asia Pacifico (Melbourne) |
|
ap-northeast-1 |
Asia Pacifico (Tokyo) |
|
us-west-2 |
Stati Uniti occidentali (Oregon) |
|
us-west-1 |
Stati Uniti occidentali (California settentrionale) |
|
ap-southeast-1 |
Asia Pacifico (Singapore) |
|
ap-southeast-2 |
Asia Pacifico (Sydney) |
|
il-central-1 |
Israele (Tel Aviv) |
|
ca-central-1 |
Canada (Centrale) |
|
ca-west-1 |
Canada occidentale (Calgary) |
|
eu-south-2 |
Europa (Spagna) |
|
cn-northwest-1 |
Cina (Ningxia) |
|
eu-central-2 |
Europa (Zurigo) |
| us-gov-east-1 | AWS GovCloud (Stati Uniti orientali) |
| us-gov-west-1 | AWS GovCloud (Stati Uniti occidentali) |