Amazon Kinesis Data Streams Terminologia e concetti - 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à.

Amazon Kinesis Data Streams Terminologia e concetti

Prima di iniziare a usare Amazon Kinesis Data Streams, scopri la sua architettura e la sua terminologia.

Esamina l'architettura di alto livello di Kinesis Data Streams

Nel diagramma seguente viene illustrata l'architettura di alto livello di . I producer inviano continuamente dati al flusso di dati Kinesis e i consumer li elaborano in tempo reale. I consumatori (ad esempio un'applicazione personalizzata in esecuzione su Amazon EC2 o un flusso di distribuzione di Amazon Data Firehose) possono archiviare i risultati utilizzando un AWS servizio come Amazon DynamoDB, Amazon Redshift o Amazon S3.

Diagramma dell'architettura di alto livello di Kinesis Data Streams

Acquisisci familiarità con la terminologia di Kinesis Data Streams

Kinesis Data Streams

Un flusso di dati Kinesis è un insieme di partizioni. Ogni shard è una sequenza di record di dati. Ogni record di dati ha un numero di sequenza assegnato dal flusso di dati Kinesis.

Record di dati

Un record di dati è l'unità di dati archiviati in un flusso di dati Kinesis. I record di dati sono costituiti da un numero di sequenza, una chiave di partizione e di blob di dati, che è una sequenza di byte non modificabile. Il flusso di dati Kinesis non ispeziona, interpreta o modifica i dati nel blob in qualsiasi modo. Un data blob può essere fino a 1 MB.

Modalità di capacità

Una modalità di capacità del flusso di dati determina come viene gestita la capacità e come viene addebitato l'utilizzo del flusso di dati. Attualmente, in Kinesis Data Streams, puoi scegliere tra una modalità on demand e una modalità provisioning per i tuoi flussi di dati. Per ulteriori informazioni, consulta Scegli la modalità di capacità del flusso di dati.

Con la modalità on demand, il flusso di dati Kinesis gestisce automaticamente le partizioni per fornire la velocità di trasmissione effettiva necessaria. Ti viene addebitato solo la velocità di trasmissione effettiva che utilizzi e il flusso di dati Kinesis soddisfa automaticamente le esigenze di velocità di trasmissione effettiva dei tuoi carichi di lavoro man mano che aumentano o diminuiscono. Per ulteriori informazioni, consulta Caratteristiche e casi d'uso della modalità On-demand.

Con la modalità provisioning, devi specificare il numero di partizioni per il flusso di dati. La capacità totale di un flusso di dati è la somma di capacità delle relative partizioni. È possibile aumentare o diminuire il numero di partizioni in un flusso di dati in base alle esigenze e il numero di partizioni viene addebitato su base oraria. Per ulteriori informazioni, consulta Caratteristiche e casi d'uso della modalità provisioned.

Periodo di retention

Il periodo di ritenzione è il periodo di tempo in cui i record di dati sono accessibili dopo essere stati aggiunti al flusso. Un periodo di ritenzione del flusso è impostato su un periodo predefinito di 24 ore dopo la creazione. È possibile aumentare il periodo di conservazione fino a 8760 ore (365 giorni) utilizzando l'IncreaseStreamRetentionPeriodoperazione e ridurlo a un minimo di 24 ore utilizzando l'operazione. DecreaseStreamRetentionPeriod Sono applicabili costi aggiuntivi per flussi con un periodo di ritenzione impostato su più di 24 ore. Per ulteriori informazioni, consulta Prezzi dei flussi di dati per Amazon Kinesis.

Producer

I produttori inseriscono record in Amazon Kinesis Data Streams. Ad esempio, un server Web che invia dati di log a un flusso è un producer.

Consumer

I consumer ottengono i record da Flusso di dati Amazon Kinesis e li elaborano. Questi consumatori sono conosciuti come Applicazione di flussi di dati Amazon Kinesis.

Applicazione di flussi di dati Amazon Kinesis

Un'applicazione Amazon Kinesis Data Streams è un consumatore di un flusso che viene generalmente eseguito su una EC2 flotta di istanze.

Sono disponibili due tipi di consumatori che è possibile sviluppare: i consumatori fan-out condivisi e i consumatori fan-out ottimizzati. Per ulteriori informazioni sulle differenze tra loro e per vedere in che modo è possibile creare ogni tipo di consumer, consulta Leggi i dati da Amazon Kinesis Data Streams.

L'output di un'applicazione del flusso di dati Kinesis può essere un input da un altro flusso, che consente di creare topologie complesse per l'elaborazione di dati in tempo reale. Un'applicazione può anche inviare dati a una varietà di altri servizi. AWS Possono esserci più applicazioni per un flusso e ogni applicazione può consumare i dati dal flusso in modo indipendente e simultaneo

Shard

Uno shard è una sequenza identificata in modo univoco di record di dati in un flusso. Un flusso è composto da uno o più shard, ciascuno dei quali fornisce un'unità fissa di capacità. Ogni partizione può supportare fino a 5 transazioni al secondo per le letture, fino a una velocità totale massima di lettura dei dati di 2 MB al secondo e fino a 1.000 record al secondo per le scritture, fino a una velocità di scrittura totale massima dei dati di 1 MB al secondo (incluse le chiavi di partizione). La capacità di dati del flusso è una funzione del numero di shard specificati per il flusso. La capacità totale del flusso è la somma delle capacità del suo shard.

Se il tasso di dati aumenta, è possibile aumentare o diminuire il numero di shard allocati al flusso. Per ulteriori informazioni, consulta Condividi nuovamente uno stream.

Chiave di partizione

Una chiave di partizione viene utilizzata per raggruppare i dati in base alla partizione in un flusso. Il flusso di dati Kinesis suddivide i record di dati appartenenti a un flusso in più partizioni. Utilizza la chiave di partizione che è associata a ogni record di dati per determinare a quale shard appartiene un determinato record di dati. Le chiavi di partizione sono stringhe Unicode, con un limite di lunghezza massima di 256 caratteri per ogni chiave. Una funzione MD5 hash viene utilizzata per mappare le chiavi di partizione su valori interi a 128 bit e per mappare i record di dati associati ai frammenti utilizzando gli intervalli di chiavi hash degli shard. Quando un'applicazione inserisce dati in un flusso, deve specificare una chiave di partizione.

Numero sequenza

Ogni record di dati ha un numero di sequenza univoco per chiave di partizione nella partizione. Il flusso di dati Kinesis assegna il numero di sequenza dopo aver scritto nel flusso con client.putRecords o client.putRecord. I numeri di sequenza per la stessa chiave di partizione generalmente aumentano nel corso del tempo. Maggiore è il periodo di tempo compreso tra le richieste di scrittura e più grande sarà il numero di sequenza.

Nota

i numeri di sequenza non possono essere utilizzati come indici per set di dati all'interno dello stesso flusso. Per separare i set di dati logicamente, utilizza le chiavi di partizione o crea un flusso separato per ogni set di dati.

Kinesis Client Library

La Kinesis Client Library viene compilata nell'applicazione per abilitare il consumo tollerante ai guasti di dati dal flusso. La Kinesis Client Library garantisce che per ogni partizione è previsto un elaboratore di record che esegue ed elabora quella partizione. La libreria, inoltre, semplifica la lettura di dati dal flusso. La Kinesis Client Library utilizza una tabella Amazon DynamoDB per archiviare i dati di controllo. Crea una tabella per ogni applicazione che elabora i dati.

Esistono due versioni principali della Kinesis Client Library. Quella che utilizzi dipende dal tipo di consumer che desideri creare. Per ulteriori informazioni, consulta Leggi i dati da Amazon Kinesis Data Streams.

Nome applicazione

Il nome di un'applicazione del flusso di dati Amazon Kinesis identifica l'applicazione. Ciascuna delle applicazioni deve avere un nome univoco che corrisponda all'account e alla regione utilizzati dall' AWS applicazione. Questo nome viene utilizzato come nome per la tabella di controllo in Amazon DynamoDB e lo spazio dei nomi per i parametri Amazon. CloudWatch

Crittografia lato server

Flusso di dati Amazon Kinesis è in grado di criptare automaticamente i dati sensibili nel momento in cui un producer li inserisce in un flusso. Il flusso di dati Kinesis utilizza le chiavi master di AWS KMS per la crittografia. Per ulteriori informazioni, consulta Protezione dei dati in Amazon Kinesis Data Streams.

Nota

Per eseguire operazioni di lettura o scrittura in un flusso crittografato, le applicazioni del producer e consumer devono avere l'autorizzazione di accedere alla chiave master. Per informazioni sulla concessione di autorizzazioni per le applicazioni di producer e consumer, consulta Autorizzazioni per utilizzare le chiavi generate dall'utente KMS.

Nota

L'utilizzo della crittografia lato server comporta dei costi (). AWS Key Management Service AWS KMS Per ulteriori informazioni, consulta Prezzi di AWS Key Management Service.