Inserimento streaming e modifiche dello schema

I nodi del cluster memorizzano nella cache lo schema dei database che ottengono dati tramite l'inserimento in streaming, aumentando le prestazioni e l'uso delle risorse. Tuttavia, quando ci sono modifiche dello schema, può causare ritardi negli aggiornamenti.

Se le modifiche dello schema e l'inserimento in streaming non vengono sincronizzate, è possibile riscontrare errori come errori correlati allo schema o dati incompleti e distorti nella tabella.

Questo articolo illustra le modifiche tipiche dello schema e fornisce indicazioni su come evitare problemi di inserimento di streaming durante queste modifiche.

Modifiche dello schema

L'elenco seguente illustra gli esempi principali di modifiche dello schema:

Coordinare le modifiche dello schema con l'inserimento in streaming

La cache dello schema viene mantenuta mentre il cluster è online. Se sono presenti modifiche allo schema, il sistema aggiorna automaticamente la cache, ma questo aggiornamento può richiedere diversi minuti. Se si fa affidamento sull'aggiornamento automatico, è possibile riscontrare errori di inserimento non coordinati.

È possibile ridurre gli effetti del ritardo di propagazione cancellando in modo esplicito la cache dello schema nei nodi del cluster. Se il flusso di inserimento di streaming e le modifiche dello schema sono coordinate, è possibile eliminare completamente gli errori e la distorsione dei dati associata.

Per coordinare il flusso di inserimento di streaming con le modifiche dello schema:

  1. Sospendere l'inserimento di streaming.
  2. Attendere il completamento di tutte le richieste di inserimento in streaming in sospeso.
  3. Apportare modifiche allo schema.
  4. Eseguire uno o più comandi dello schema di inserimento della cache con estensione clear cache.
    • Ripetere fino a quando tutte le righe nell'output del comando indicano esito positivo
  5. Riprendere l'inserimento in streaming.

Nota

Se è stata creata un'applicazione per l'inserimento personalizzato, è consigliabile gestire gli errori correlati allo schema riprovando per una durata impostata o reindirizzando i dati dalle richieste non riuscite usando i metodi di inserimento in coda.