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à.
Inserimento in streaming su una vista materializzata
Questo argomento descrive come utilizzare le viste materializzate per un accesso rapido ai dati in streaming.
L'ingestione di streaming consente l'inserimento di dati a bassa latenza e alta velocità da Amazon Kinesis Data Streams o Amazon Managed Streaming for Apache Kafka verso un database con provisioning di Amazon
In che modo i dati fluiscono da un servizio di streaming a Redshift
Aiuta a capire come funziona l'ingestione dello streaming e gli oggetti del database utilizzati nel processo. I dati fluiscono direttamente da un provider di flussi di dati a un cluster con provisioning di Amazon Redshift o a un gruppo di lavoro Serverless Amazon Redshift. Non esiste un'area di atterraggio temporanea, come un bucket Amazon S3. Il cluster o il gruppo di lavoro fornito è il consumatore di streaming. Nel database Redshift, i dati letti dallo stream vengono visualizzati in una vista materializzata. I dati vengono elaborati non appena arrivano. Ad esempio, JSON i valori possono essere consumati e mappati alle colonne di dati di una vista materializzata, utilizzando. SQL Quando la vista materializzata viene aggiornata, Redshift utilizza i dati dai data shard Kinesis allocati o dalle partizioni Kafka fino a quando la vista non viene aggiornata con lo stream.
I casi d'uso per l'ingestione dello streaming di Amazon Redshift riguardano dati generati continuamente e devono essere elaborati entro un breve periodo, o latenza, dalla loro origine. Questa è comunemente chiamata analisi quasi in tempo reale. Le fonti possono includere dispositivi IT, dispositivi di telemetria di sistema e dati clickstream provenienti da un sito Web o un'applicazione molto trafficati.
Le migliori pratiche di analisi dei dati per migliorare le prestazioni
Quando configuri l'ingestione dello streaming, sono disponibili opzioni per analizzare i dati in entrata. Le pratiche possono includere l'esecuzione della logica aziendale o la formattazione all'arrivo dei dati. Consigliamo le seguenti best practice per evitare errori o perdite di dati. Queste derivano da test interni e aiutano i clienti a risolvere i problemi di configurazione e analisi.
Estrazione di valori dai dati in streaming: se si utilizza la TEXT funzione JSON_ _ EXTRACT PATH _ nella definizione della vista materializzata per analizzare o distruggere lo streaming, ciò può influire in modo significativo su prestazioni e latenza. JSON Per spiegare, per ogni colonna estratta utilizzando JSON _ _ _EXTRACT, la voce in entrata viene analizzata nuovamente. PATH TEXT JSON Successivamente, vengono eseguiti la conversione dei tipi di dati, il filtraggio e i calcoli della logica aziendale. Ciò significa, ad esempio, che se si estraggono 10 colonne dai JSON dati, ogni JSON record viene analizzato 10 volte, il che include una logica aggiuntiva. Ciò si traduce in una maggiore latenza di ingestione. Un approccio alternativo che consigliamo consiste nell'utilizzare la PARSEfunzione JSON _ per convertire i JSON record nel tipo di dati di Redshift. SUPER Dopo che i dati in streaming arrivano nella vista materializzata, usa PartiQL per estrarre singole stringhe dalla rappresentazione dei SUPER dati. JSON Per ulteriori informazioni, consulta Interrogazione di dati semistrutturati.
Inoltre, tieni presente che JSON _ _ EXTRACT PATH _ TEXT ha una dimensione dei dati massima di 64 KB. Pertanto, se un JSON record è più grande di 64 KB, l'elaborazione con JSON _ _ EXTRACT PATH _ TEXT genera un errore.
Mappare uno Amazon Kinesis Data Streams stream o un MSK argomento Amazon su più viste materializzate: non è consigliabile creare più viste materializzate per inserire dati da un singolo flusso o argomento. Questo perché ogni vista materializzata crea un consumatore per ogni shard nel flusso o nella partizione Kinesis Data Streams nell'argomento Kafka. Ciò può comportare una limitazione o un superamento della velocità effettiva dello stream o dell'argomento. Inoltre, può comportare costi più elevati, poiché si inseriscono gli stessi dati più volte. Quando configuri l'ingestione dello streaming, ti consigliamo di creare una vista materializzata per ogni stream o argomento.
Se il tuo caso d'uso richiede l'inserimento di dati da un KDS flusso o MSK argomento in più viste materializzate, consulta il blog AWS Big Data
, in particolare sulle migliori pratiche per implementare l' near-real-timeanalisi utilizzando Amazon Redshift Streaming Ingestion with MSK Amazon , prima di farlo.
Comportamento e tipi di dati relativi all'inserimento dello streaming
La tabella seguente descrive i dettagli del comportamento tecnico e i limiti di dimensione per vari tipi di dati. Ti consigliamo di conoscerli bene prima di configurare una vista materializzata per l'ingestione dello streaming.
Caratteristica o comportamento | Descrizione |
---|---|
Limite di lunghezza dell'argomento Kafka | Non è possibile utilizzare un nome di un argomento Kafka di lunghezza superiore a 128 caratteri (escluse le virgolette). Per ulteriori informazioni, consulta Nomi e identificatori. |
Aggiornamenti incrementali e su una vista materializzata JOINs | La vista materializzata deve essere gestibile in modo incrementale. Il ricalcolo completo non è possibile per Kinesis o MSK Amazon perché, per impostazione predefinita, non conservano la cronologia degli stream o degli argomenti delle ultime 24 ore o 7 giorni. Puoi impostare periodi di conservazione dei dati più lunghi in Kinesis o Amazon. MSK Tuttavia, ciò può comportare una manutenzione maggiore e costi superiori. Inoltre, non JOINs sono attualmente supportate nelle viste materializzate create su uno stream Kinesis o su un argomento AmazonMSK. Dopo aver creato una vista materializzata su un flusso o un argomento, è possibile creare un'altra vista materializzata da utilizzare per connettere la vista materializzata in streaming ad altre viste materializzate, tabelle o viste. Per ulteriori informazioni, consulta. REFRESHMATERIALIZEDVIEW |
Analisi dei record | L'inserimento dello streaming di Amazon Redshift non supporta l'analisi dei record aggregati dalla Kinesis Producer Library (Key Concepts - Aggregation). KPL I record aggregati vengono importati, ma vengono archiviati come dati buffer del protocollo binario. (Consulta la sezione relativa ai Buffer di protocollo |
Decompressione |
|
Dimensione massima dei record | La dimensione massima di qualsiasi record che Amazon Redshift può importare da Kinesis o Amazon MSK è di 16.777.216 byte (16 MiB), la dimensione massima supportata dal tipo di dati in Amazon Redshift. VARBYTE Per impostazione predefinita, lo streaming di viste materializzate di Amazon Redshift create su un flusso di dati Kinesis o un MSK argomento Amazon imposta la dimensione della colonna di dati rispettivamente su 1.048.576 byte (1 MiB) e 16.777.216 byte (16 MiB). Nota1 MiB è la dimensione massima attuale di qualsiasi record che può essere inserito in un flusso di dati Kinesis. Per ulteriori informazioni sui limiti di dimensione di Kinesis, consulta Quote e limiti nella Amazon Kinesis Data Streams Developer Guide. |
Record che generano errori | In ogni caso in cui un record non può essere importato su Redshift perché la dimensione dei dati supera il limite massimo, quel record viene ignorato. In questo caso, l'aggiornamento della vista materializzata ha comunque esito positivo e un segmento di ogni record che genera un errore viene scritto nella tabella di sistema SYS_STREAM_SCAN_ERRORS. Gli errori derivanti da logica di business, ad esempio un errore in un calcolo o un errore dovuto alla conversione di un tipo, non vengono ignorati. Verifica attentamente la logica prima di aggiungerla alla definizione della vista materializzata. |
MSKConnettività VPC multiprivata Amazon | La connettività MSK VPC multiprivata di Amazon non è attualmente supportata per l'ingestione dello streaming Redshift. In alternativa, puoi utilizzare il VPCpeering per connetterti VPCs o connettere AWS Transit Gatewayreti locali tramite VPCs un hub centrale. Entrambi possono consentire a Redshift di comunicare con un MSK cluster Amazon o con Amazon MSK Serverless in un altro. VPC |
Aggiornamento automatico, utilizzo e attivazione | Le interrogazioni di aggiornamento automatico per una o più viste materializzate vengono trattate come qualsiasi altro carico di lavoro dell'utente. L'aggiornamento automatico carica i dati dal flusso non appena arrivano. L'aggiornamento automatico può essere attivato in modo esplicito per una vista materializzata creata per l'importazione di dati in streaming. A tale scopo, specifica |
Inserimento di streaming e Amazon Redshift Serverless | Le istruzioni di configurazione e configurazione che si applicano all'inserimento di streaming di Amazon Redshift su un cluster fornito si applicano anche all'ingestione di streaming su Amazon Redshift Serverless. È importante specificare il livello necessario per RPUs supportare l'ingestione dello streaming con aggiornamento automatico e altri carichi di lavoro. Per ulteriori informazioni consulta Fatturazione per Amazon Redshift Serverless. |
Nodi Amazon Redshift in una zona di disponibilità diversa rispetto al cluster Amazon MSK | Quando configuri l'ingestione dello streaming, Amazon Redshift tenta di connettersi a un cluster MSK Amazon nello stesso cluster di disponibilità, se Amazon Rack Awareness è abilitato. MSK Se tutti i nodi si trovano in zone di disponibilità diverse rispetto al cluster Amazon Redshift, è possibile incorrere in costi di trasferimento dei dati tra zone di disponibilità. Per evitare che ciò accada, mantieni almeno un nodo del cluster di MSK broker Amazon nella stessa zona del cluster o del gruppo di lavoro con provisioning Redshift. |
Aggiorna la posizione iniziale | Dopo aver creato una vista materializzata, il suo aggiornamento iniziale inizia dal |
Formati di dati | I formati di dati supportati sono limitati a quelli da cui è possibile convertire |
Aggiungere record a una tabella | È possibile eseguire |
In esecuzione TRUNCATE o DELETE | Puoi rimuovere i record da una vista materializzata utilizzata per l'acquisizione di streaming, utilizzando quanto segue:
|