View a markdown version of this page

Le migliori pratiche per la distribuzione dei dati - Flusso di dati Amazon Kinesis

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à.

Le migliori pratiche per la distribuzione dei dati

Le seguenti best practice ti aiutano a ottenere il massimo dalla distribuzione dei dati in Amazon Kinesis Data Streams. Per l'elenco completo delle metriche di distribuzione a cui si fa riferimento in questi consigli, consulta. Monitoraggio della distribuzione dei dati

Produttività e aggiornamento dei dati

  • Imposta il DataFreshnessInSeconds parametro in base alla velocità effettiva dello streaming. Valori più bassi aumentano la frequenza di consegna ma potrebbero comportare file di output più piccoli. Valori più alti consentono l'accumulo di più dati per ogni ciclo di consegna.

  • Crea un CloudWatch allarme Amazon sulla DataFreshness metrica per rilevare quando la latenza di consegna supera la soglia accettabile.

  • Puoi creare più consegne dallo stesso stream Kinesis Data Streams. Ogni consegna funziona in modo indipendente, consentendoti di inviare dati a più destinazioni contemporaneamente.

Gestione degli schemi (tabelle di streaming su Apache Iceberg)

  • Registra i tuoi schemi nello AWS Glue Schema Registry prima di creare una consegna. La consegna utilizza lo schema registrato per definire la struttura della tabella di destinazione.

  • Le consegne non supportano l'evoluzione dello schema. Se lo schema cambia, è necessario eliminare e ricreare la consegna con lo schema aggiornato.

  • Utilizza la convalida dello schema lato produttore per garantire che tutti i record siano conformi allo schema registrato prima di essere scritti nello stream. Ciò riduce al minimo la mancata consegna dei record.

Layout degli oggetti S3 (bucket Amazon S3 per uso generico)

  • Scegli un modello di chiave di output che corrisponda ai modelli di query dei tuoi consumatori a valle. Ad esempio, utilizza prefissi basati sulla data se le tue query vengono filtrate spesso in base all'intervallo di tempo.

  • Abilita la compressione GZIP o ZSTD per ridurre i costi di archiviazione e migliorare le prestazioni di lettura per i carichi di lavoro di analisi a valle.

  • Scegli la classe di storage Amazon S3 appropriata in base ai tuoi modelli di accesso ai dati. Usa STANDARD per i dati ad accesso frequente, INTELLIGENT_TIERING per consentire ad Amazon S3 di spostare automaticamente gli oggetti tra i livelli di accesso o GLACIER_IR per i dati ad accesso raro che devono ancora essere recuperati in millisecondi.

Sicurezza

  • Ambita la tua policy IAM allo specifico bucket o tabella in cui viene scritta la distribuzione. Evita di utilizzare ARN di risorse con caratteri jolly.

  • Includi le chiavi di aws:SourceAccount condizione aws:SourceArn e le chiavi di condizione nella politica di fiducia del ruolo IAM utilizzato dalla consegna. In questo modo si evita il confuso problema del sostituto assicurando che solo la tua specifica consegna possa assumerne il ruolo.

  • Abilita la AWS CloudTrail registrazione per controllare tutte le chiamate API di consegna e le modifiche alla configurazione.

  • Utilizza una AWS KMS chiave gestita dal cliente per i dati sensibili. Questo ti dà il pieno controllo sulla rotazione delle chiavi, sulle politiche di accesso e sugli audit trail.

Dead-letter coda

  • Configura sempre una coda per le lettere morte per la consegna. I documenti che non possono essere consegnati a destinazione vengono inviati alla coda per le lettere morte per una successiva ispezione.

  • Monitora la DLQDeliverySuccess metrica (DeliveryToS3.DLQDeliverySuccessoDeliveryToIceberg.DLQDeliverySuccess) in ingresso CloudWatch per rilevare quando i record vengono indirizzati alla coda delle lettere morte.

  • Ispeziona regolarmente gli inserimenti in coda per identificare i modelli di mancata consegna e intraprendi azioni correttive a livello di produttore o di configurazione della spedizione.

Monitoraggio

  • Crea CloudWatch allarmi sulle metriche relative alla consegna DataFreshness e sulla registrazione non riuscita (o) per rilevare in modo proattivo i problemi di consegna. DeliveryToS3.FailedRecordCount DeliveryToIceberg.FailedRowCount

  • Attiva CloudWatch i registri per la consegna per acquisire una diagnostica dettagliata della consegna e i messaggi di errore.

  • Tieni traccia della metrica (DeliveryToS3.BytesOutoDeliveryToIceberg.BytesOut) dei byte consegnati per monitorare la velocità effettiva e identificare cali imprevisti nel volume di dati.