Creare e gestire modifiche in tempo reale

Questa pagina descrive come creare, modificare e visualizzare gli stream di modifiche Spanner. Per saperne di più sulle modifiche in tempo reale, consulta Informazioni sulle modifiche in tempo reale.

Poiché gli stream di modifiche sono oggetti dello schema, li crei e li gestisci tramite gli stessi aggiornamenti dello schema basati su DDL utilizzati per qualsiasi altro tipo di attività di definizione del database, come la creazione di tabelle o l'aggiunta di indici.

Spanner avvia un'istanza a lunga esecuzione operativa dopo invia un'istruzione DDL che modifica lo schema, incluse quelle utilizzate per creare, modificare o eliminare le modifiche in tempo reale. Un nuovo stream di modifiche o uno modificato inizierà a monitorare le colonne o le tabelle specificate dalla nuova configurazione al termine di questa operazione che richiede molto tempo.

Crea un flusso di modifiche

Per creare un flusso di modifiche, devi fornire il nome e gli oggetti dello schema che verranno monitorati: l'intero database o un elenco di tabelle e colonne specifiche. Facoltativamente, puoi specificare quanto segue:

GoogleSQL

La sintassi DDL per la creazione di un flusso di modifiche utilizzando GoogleSQL nel seguente modo:

CREATE CHANGE STREAM change_stream_name
  [FOR column_or_table_watching_definition[, ... ] ]
  [
    OPTIONS (
      retention_period = timespan,
      value_capture_type = type,
      exclude_ttl_deletes = boolean,
      exclude_insert = boolean,
      exclude_update = boolean,
      exclude_delete = boolean
    )
  ]

PostgreSQL

La sintassi DDL per la creazione di un flusso di modifiche utilizzando PostgreSQL è la seguente:

CREATE CHANGE STREAM change_stream_name
  [FOR column_or_table_watching_definition[, ... ] ]
  [
    WITH (
      retention_period = timespan,
      value_capture_type = type,
      exclude_ttl_deletes = boolean,
      exclude_insert = boolean,
      exclude_update = boolean,
      exclude_delete = boolean
    )
  ]

Un nuovo stream di modifiche inizia a monitorare gli oggetti dello schema assegnati non appena viene completata l'operazione a lungo termine che lo ha creato.

Gli esempi riportati di seguito illustrano la creazione di stream di variazioni con varie configurazioni.

Guardare un intero database

Per creare un flusso di modifiche che esamini ogni modifica ai dati eseguita in tutte le tabelle di un database, utilizza la parola chiave ALL:

CREATE CHANGE STREAM EverythingStream
FOR ALL;

La configurazione ALL implicitamente include tutti i dati futuri del database di tabelle e colonne, non appena vengono create. Non includere viste, tabelle di schemi di informazioni o e altri oggetti oltre alle normali tabelle di dati.

Guardare tabelle specifiche

Per limitare l'ambito di un flusso di modifiche a tabelle specifiche anziché a un intero database, specifica un elenco di una o più tabelle:

CREATE CHANGE STREAM SingerAlbumStream
FOR Singers, Albums;

Spanner aggiorna automaticamente gli stream di modifiche che monitorano intere tabelle per riflettere eventuali modifiche dello schema che interessano queste tabelle, ad esempio colonne aggiunte o eliminate.

Visualizza colonne specifiche

Utilizza la sintassi table(column_1[, column_2, ...]) per monitorare le modifiche apportate a una o più colonne non chiave specifiche all'interno delle tabelle che assegni un nome:

CREATE CHANGE STREAM NamesAndTitles
FOR Singers(FirstName, LastName), Albums(Title);

Non puoi specificare colonne di chiave primaria qui perché ogni flusso di modifiche sempre monitora le chiavi primarie di ogni tabella che guarda. Ciò consente ogni record di modifiche ai dati per identificare la riga modificata in base alla sua chiave primaria.

Controlla tabelle e colonne in un singolo flusso

Puoi combinare la sintassi di visualizzazione delle tabelle e delle colonne dei due esempi precedenti in un unico flusso di modifiche:

CREATE CHANGE STREAM NamesAndAlbums
FOR Singers(FirstName, LastName), Albums;

Specifica un periodo di conservazione più lungo

Specificare un periodo di conservazione dei dati delle modifiche in tempo reale maggiore del valore predefinito di un giorno, imposta retention_period su un periodo di massimo una settimana, espresse in ore (h) o giorni (d).

Ecco due esempi:

GoogleSQL

CREATE CHANGE STREAM LongerDataRetention
FOR ALL
OPTIONS ( retention_period = '36h' );
CREATE CHANGE STREAM MaximumDataRetention
FOR ALL
OPTIONS ( retention_period = '7d' );

PostgreSQL

CREATE CHANGE STREAM LongerDataRetention
FOR ALL
WITH ( retention_period = '36h' );
CREATE CHANGE STREAM MaximumDataRetention
FOR ALL
WITH ( retention_period = '7d' );

Specificare un tipo di acquisizione del valore diverso

Per specificare un tipo di acquisizione del valore di modifiche in tempo reale diverso da OLD_AND_NEW_VALUES, imposta value_capture_type su NEW_VALUES o NEW_ROW, come mostrato nei seguenti esempi:

GoogleSQL

CREATE CHANGE STREAM NewRowChangeStream
FOR ALL
OPTIONS ( value_capture_type = 'NEW_ROW' );
CREATE CHANGE STREAM NewValuesChangeStream
FOR ALL
OPTIONS ( value_capture_type = 'NEW_VALUES' );

PostgreSQL

CREATE CHANGE STREAM NewRowChangeStream
FOR ALL
WITH ( value_capture_type = 'NEW_ROW' );
CREATE CHANGE STREAM NewValuesChangeStream
FOR ALL
WITH ( value_capture_type = 'NEW_VALUES' );

Filtrare le eliminazioni basate su TTL

Puoi filtrare le eliminazioni basate su TTL dall'ambito del flusso di modifiche utilizzando il filtro exclude_ttl_deletes.

Per ulteriori informazioni sul funzionamento di questo filtro, consulta: Filtro di eliminazione basato sulla durata.

GoogleSQL

Per creare uno stream delle modifiche con il filtro delle eliminazioni basate su TTL, utilizza quanto segue:

CREATE CHANGE STREAM CHANGE_STREAM_NAME FOR ALL
OPTIONS (exclude_ttl_deletes = true)

Sostituisci quanto segue:

  • CHANGE_STREAM_NAME: il nome del nuovo modifiche in tempo reale

Il seguente esempio crea un flusso di modifiche denominato NewFilterChangeStream che esclude tutte le eliminazioni basate su TTL:

CREATE CHANGE STREAM NewFilterChangeStream FOR ALL
OPTIONS (exclude_ttl_deletes = true)

PostgreSQL

Per creare un flusso di modifiche con il filtro di eliminazione basato su TTL, utilizza quanto segue:

CREATE CHANGE STREAM CHANGE_STREAM_NAME FOR ALL
WITH (exclude_ttl_deletes = true)

Sostituisci quanto segue:

  • STREAM_NAME: il nome del nuovo modifiche in tempo reale

L'esempio seguente crea una modifica in tempo reale NewFilterChangeStream che esclude tutte le eliminazioni basate su TTL:

CREATE CHANGE STREAM NewFilterChangeStream FOR ALL
WITH (exclude_ttl_deletes = true)

Per aggiungere o rimuovere il filtro di eliminazione basato su TTL da un filtro esistente modifiche in tempo reale, consulta Modificare il filtro di eliminazione basato su TTL. Puoi confermare i filtri del flusso di modifiche visualizzando le definizioni del flusso di modifiche come DDL.

Filtra per tipo di modifica della tabella

Filtra una o più di queste modifiche alla tabella dal dell'ambito di modifiche in tempo reale utilizzando le seguenti opzioni di filtro disponibili:

  • exclude_insert: escludi tutte le INSERT modifiche alla tabella
  • exclude_update: escludi tutte le modifiche alla tabella UPDATE
  • exclude_delete: escludi tutte le DELETE modifiche alla tabella

Per ulteriori informazioni sul funzionamento di questi filtri, consulta Filtri per tipo di modifica della tabella.

GoogleSQL

Per creare un flusso di modifiche con uno o più tipi di modifica delle tabelle utilizza i seguenti filtri:

CREATE CHANGE STREAM CHANGE_STREAM_NAME FOR ALL
OPTIONS (MOD_TYPE_FILTER_NAME = true)

Sostituisci quanto segue:

  • CHANGE_STREAM_NAME: il nome del nuovo stream di variazioni
  • MOD_TYPE_FILTER_NAME: il filtro che vuoi da aggiungere: exclude_insert, exclude_update o exclude_delete. Se aggiungi più di un filtro alla volta, separali con una virgola.

L'esempio seguente crea uno stream di modifiche denominato NewFilterChangeStream che esclude i tipi di modifica delle tabelle INSERT e UPDATE:

CREATE CHANGE STREAM NewFilterChangeStream FOR ALL
OPTIONS (exclude_insert = true, exclude_update = true)

PostgreSQL

Per creare un flusso di modifiche con uno o più tipi di modifica delle tabelle utilizza i seguenti filtri:

CREATE CHANGE STREAM CHANGE_STREAM_NAME FOR ALL
WITH (MOD_TYPE_FILTER_NAME = true)

Sostituisci quanto segue:

  • CHANGE_STREAM_NAME: il nome del stream di modifiche esistente
  • MOD_TYPE_FILTER_NAME: il filtro che vuoi aggiungere: exclude_insert, exclude_update o exclude_delete. Se aggiungi più di un filtro alla volta, separali con una virgola.

L'esempio seguente crea una modifica in tempo reale denominata NewFilterChangeStream che esclude la modifica della tabella INSERT e UPDATE tipi di transazioni:

CREATE CHANGE STREAM NewFilterChangeStream FOR ALL
WITH (exclude_insert = true, exclude_update = true)

Per aggiungere o rimuovere un filtro del tipo di modifica della tabella da un filtro esistente modifiche in tempo reale, consulta Modificare il filtro in base al tipo di modifica della tabella. Puoi confermare quali filtri dei tipi di modifica della tabella esistono per modifiche in tempo reale per Visualizzazione delle definizioni del flusso di modifiche come DDL.

Modificare un flusso di modifiche

Per modificare la configurazione di un flusso di modifiche, utilizza un DDL ALTER CHANGE STREAM l'Informativa. Utilizza una sintassi simile a CREATE CHANGE STREAM. Puoi cambiare le colonne controllate da uno stream o la lunghezza dei suoi dati periodo di conservazione. Puoi anche sospendere del tutto la visualizzazione, mantenendo al contempo i record delle modifiche dei dati.

Modificare gli elementi monitorati da un flusso di modifiche

In questo esempio viene aggiunta l'intera tabella Songs alla tabella NamesAndAlbums modifiche in tempo reale configurate in precedenza:

ALTER CHANGE STREAM NamesAndAlbums
SET FOR Singers(FirstName, LastName), Albums, Songs;

Al termine dell'operazione a lungo termine che aggiorna la definizione dello stream di modifiche all'interno dello schema del database, Spanner sostituisce il comportamento dello stream di modifiche denominato con la nuova configurazione.

Modificare il periodo di conservazione dei dati di un flusso di modifiche

Per modificare il periodo di tempo per cui un flusso di modifiche conserva i propri record interni, imposta retention_period in un'istruzione DDL ALTER CHANGE STREAM.

Questo esempio regola il periodo di conservazione dei dati in base a NamesAndAlbums modifiche in tempo reale create in precedenza:

GoogleSQL

ALTER CHANGE STREAM NamesAndAlbums
SET OPTIONS ( retention_period = '36h' );

PostgreSQL

ALTER CHANGE STREAM NamesAndAlbums
SET ( retention_period = '36h' );

Modificare il tipo di acquisizione valore di uno stream di variazioni

Per modificare il tipo di acquisizione del valore di un flusso di modifiche, imposta il valore value_capture_type in un'istruzione DDL ALTER CHANGE STREAM.

Questo esempio modifica il tipo di acquisizione del valore su NEW_VALUES.

GoogleSQL

ALTER CHANGE STREAM NamesAndAlbums
SET OPTIONS ( value_capture_type = 'NEW_VALUES' );

PostgreSQL

ALTER CHANGE STREAM NamesAndAlbums
SET ( value_capture_type = 'NEW_VALUES' );

Modificare il filtro delle eliminazioni basate su TTL

Per modificare il filtro Eliminazioni basate su TTL per una modifica , imposta il filtro exclude_ttl_deletes in un DDL ALTER CHANGE STREAM l'Informativa. Puoi utilizzarlo per aggiungere il filtro ai tuoi stream di modifiche esistenti o rimuoverlo.

Per ulteriori informazioni sul funzionamento di questi filtri, consulta Filtro Eliminazioni in base al tempo di vita.

Aggiungere il filtro di eliminazione basato su TTL a un flusso di modifiche esistente

GoogleSQL

Per aggiungere il filtro di eliminazione basato su TTL a un flusso di modifiche esistente: utilizza il seguente comando per impostare il filtro su true:

ALTER CHANGE STREAM CHANGE_STREAM_NAME FOR ALL
SET OPTIONS (exclude_ttl_deletes = true)

Sostituisci quanto segue:

  • CHANGE_STREAM_NAME: il nome del tuo esistente modifiche in tempo reale

Nell'esempio seguente, il filtro exclude_ttl_deletes viene aggiunto a un flusso di modifiche esistente denominato NewFilterChangeStream: che esclude tutte le eliminazioni basate su TTL:

ALTER CHANGE STREAM NewFilterChangeStream FOR ALL
SET OPTIONS (exclude_ttl_deletes = true)

Ciò esclude tutte le eliminazioni basate su TTL dal flusso di modifiche.

PostgreSQL

Per aggiungere il filtro delle eliminazioni basate su TTL a uno stream di modifiche esistente, utilizza quanto segue per impostare il filtro su True:

ALTER CHANGE STREAM STREAM_NAME FOR ALL
SET (exclude_ttl_deletes = true)

Sostituisci quanto segue:

  • STREAM_NAME: il nome del stream di modifiche esistente

Nell'esempio seguente, il filtro exclude_ttl_deletes viene aggiunto a un stream di variazioni esistente chiamato NewFilterChangeStream:

ALTER CHANGE STREAM NewFilterChangeStream FOR ALL
SET (exclude_ttl_deletes = true)

Ciò esclude tutte le eliminazioni future basate su TTL dal flusso di modifiche.

Rimuovi il filtro di eliminazione basato su TTL da un flusso di modifiche esistente

GoogleSQL

Per rimuovere il filtro delle eliminazioni basate su TTL da un flusso di modifiche esistente: utilizza il seguente comando per impostare il filtro su False:

ALTER CHANGE STREAM STREAM_NAME FOR ALL
SET OPTIONS (exclude_ttl_deletes = false)

Sostituisci quanto segue:

  • STREAM_NAME: il nome del nuovo stream di variazioni

Nell'esempio seguente, il filtro exclude_ttl_deletes viene rimosso da un stream di modifiche esistente chiamato NewFilterChangeStream:

ALTER CHANGE STREAM NewFilterChangeStream FOR ALL
SET OPTIONS (exclude_ttl_deletes = false)

Ciò include tutte le eliminazioni future basate su TTL nel flusso di modifiche.

Puoi anche impostare il filtro su null per rimuovere il filtro delle eliminazioni basate su TTL.

PostgreSQL

Per rimuovere il filtro delle eliminazioni basate su TTL da uno stream di modifiche esistente, utilizza quanto segue per impostare il filtro su False:

ALTER CHANGE STREAM STREAM_NAME FOR ALL
SET (exclude_ttl_deletes = false)

Sostituisci quanto segue:

  • STREAM_NAME: il nome del nuovo stream di variazioni

Nell'esempio seguente, il filtro exclude_ttl_deletes viene rimosso da un stream di modifiche esistente chiamato NewFilterChangeStream:

ALTER CHANGE STREAM NewFilterChangeStream FOR ALL
SET (exclude_ttl_deletes = false)

Ciò include tutte le eliminazioni future basate su TTL nel flusso di modifiche.

Puoi anche impostare il filtro su null per rimuovere il filtro delle eliminazioni basate su TTL.

Modificare il filtro in base al tipo di modifica della tabella

Per modificare i filtri del tipo di modifica della tabella per un flusso di modifiche: Imposta il tipo di filtro in un'istruzione DDL ALTER CHANGE STREAM. Puoi utilizzarla per aggiungere un nuovo filtro o rimuovere un filtro esistente dal tuo stream di modifiche.

Aggiungere un filtro per tipo di modifica della tabella a uno stream di modifiche esistente

GoogleSQL

Per aggiungere uno o più nuovi filtri per il tipo di modifica della tabella a un filtro esistente modifiche in tempo reale, utilizza il seguente comando per impostare il filtro su true:

ALTER CHANGE STREAM CHANGE_STREAM_NAME
SET OPTIONS (MOD_TYPE_FILTER_NAME = true)

Sostituisci quanto segue:

  • CHANGE_STREAM_NAME: sostituisci con il nome della tua rete esistente modifiche in tempo reale
  • MOD_TYPE_FILTER_NAME: sostituisci con il filtro che hai da aggiungere: exclude_insert, exclude_update o exclude_delete. Se aggiungi più di un filtro alla volta, separali con una virgola.

Nell'esempio seguente, il filtro exclude_delete viene aggiunto a un elemento esistente flusso di modifiche denominato NewFilterChangeStream:

ALTER CHANGE STREAM NewFilterChangeStream
SET OPTIONS (exclude_delete = true)

PostgreSQL

Per aggiungere uno o più nuovi filtri per il tipo di modifica della tabella a un filtro esistente modifiche in tempo reale, utilizza il seguente comando per impostare il filtro su true:

ALTER CHANGE STREAM CHANGE_STREAM_NAME
SET (MOD_TYPE_FILTER_NAME = true)

Sostituisci quanto segue:

  • CHANGE_STREAM_NAME: sostituisci con il nome della tua rete esistente modifiche in tempo reale
  • MOD_TYPE_FILTER_NAME: sostituisci con il filtro che hai da aggiungere: exclude_insert, exclude_update o exclude_delete. Se aggiungi più di un filtro alla volta, separali con una virgola.

Nell'esempio seguente, il filtro exclude_delete viene aggiunto a un stream di variazioni esistente chiamato NewFilterChangeStream:

ALTER CHANGE STREAM NewFilterChangeStream
SET (exclude_delete = true)

Rimuovere un filtro per tipo di modifica della tabella da un flusso di modifiche esistente

GoogleSQL

Per rimuovere uno o più filtri di tipo di modifica della tabella esistenti nel stream di variazioni, utilizza quanto segue per impostare il filtro su false:

ALTER CHANGE STREAM CHANGE_STREAM_NAME
SET OPTIONS (MOD_TYPE_FILTER_NAME = false)

Sostituisci quanto segue:

  • CHANGE_STREAM_NAME: sostituisci con il nome della tua rete esistente modifiche in tempo reale
  • MOD_TYPE_FILTER_NAME: sostituisci con il filtro che hai da rimuovere: exclude_insert, exclude_update o exclude_delete. Se rimuovi più filtri contemporaneamente, separali con una virgola.

Nel seguente esempio, il filtro exclude_delete viene rimosso da un stream di variazioni esistente chiamato NewFilterChangeStream:

ALTER CHANGE STREAM NewFilterChangeStream
SET OPTIONS (exclude_delete = false)

Puoi anche rimuovere un filtro di modifica della tabella impostandolo. per tornare al valore predefinito. Per farlo, imposta il valore del filtro su null.

PostgreSQL

Per rimuovere uno o più filtri di tipo di modifica della tabella esistenti nel stream di variazioni, utilizza quanto segue per impostare il filtro su False:

ALTER CHANGE STREAM CHANGE_STREAM_NAME
SET (MOD_TYPE_FILTER_NAME = false)

Sostituisci quanto segue:

  • CHANGE_STREAM_NAME: sostituisci con il nome della tua rete esistente modifiche in tempo reale
  • MOD_TYPE_FILTER_NAME: sostituisci con il filtro che hai da aggiungere: exclude_insert, exclude_update o exclude_delete. Se aggiungi più di un filtro alla volta, separali con una virgola.

Nell'esempio seguente, il filtro exclude_delete viene rimosso da un elemento esistente flusso di modifiche denominato NewFilterChangeStream:

ALTER CHANGE STREAM NewFilterChangeStream
SET (exclude_delete = false)

Puoi anche rimuovere un filtro di modifica della tabella impostandolo. per tornare al valore predefinito. Per farlo, imposta il valore del filtro su null.

Sospendere un flusso di modifiche

Se vuoi che uno stream di modifiche interrompa la sua attività, ma conservi i suoi record interni, almeno per la durata del periodo di conservazione dei dati, puoi modificarlo in modo che non monitori nulla.

Per farlo, esegui un'istruzione DDL ALTER CHANGE STREAM che sostituisca la definizione del flusso di variazioni con la frase speciale DROP FOR ALL. Ad esempio:

ALTER CHANGE STREAM MyStream DROP FOR ALL;

Lo stream continua a esistere nel database, ma non monitora alcun oggetto e non genera ulteriori record di modifica dei dati. I relativi record di variazione esistenti rimangono invariati, in base alle norme sulla conservazione dei dati dello stream.

Per riprendere uno stream sospeso, invia un altro ALTER CHANGE STREAM con la sua configurazione precedente.

Eliminare un flusso di modifiche

Per eliminare definitivamente un flusso di modifiche, esegui un'istruzione DROP CHANGE STREAM che includa il nome del flusso:

DROP CHANGE STREAM NamesAndAlbums;

Spanner interrompe immediatamente il flusso e lo rimuove lo schema del database ed elimina i relativi record di modifiche dei dati.

Elenco e visualizzazione delle modifiche in tempo reale

La console Google Cloud fornisce un'interfaccia web per elencare e esaminare le definizioni degli stream di modifiche di un database. Puoi anche visualizzare la struttura dei flussi di modifiche come istruzioni DDL equivalenti o eseguendo query sullo schema delle informazioni del database.

Visualizzare gli stream di modifiche con la console Google Cloud

Per visualizzare un elenco dei modifiche in tempo reale di un database ed esaminarne le definizioni:

  1. Visita la pagina delle istanze Spanner della console Google Cloud.

    Apri la pagina delle istanze

  2. Vai all'istanza e al database appropriati.

  3. Fai clic su Cambia stream nel menu di navigazione.

Viene visualizzato un elenco di tutti i modifiche in tempo reale del database e riassume la configurazione di ciascuno. Facendo clic sul nome di uno stream rivela ulteriori dettagli sulle tabelle e sulle colonne che controlla.

Visualizzare le definizioni degli stream di modifiche come DDL

La visualizzazione dello schema di un database come DDL include le descrizioni di tutti i suoi stream di variazioni, dove vengono visualizzati come istruzioni CREATE CHANGE STREAM.

  • Per eseguire questa operazione dalla console, fai clic sul link Mostra DDL equivalente nella pagina del database nella console Google Cloud.

  • Per farlo dalla riga di comando, utilizza il comando ddl describe di Google Cloud CLI.

Eseguire query sullo schema di informazioni sulle modifiche in tempo reale

Puoi eseguire query direttamente sulle informazioni di un database delle modifiche in tempo reale. La le seguenti tabelle contengono i metadati che definiscono le modifiche in tempo reale nomi, le tabelle e le colonne che controlla e la relativa periodi:

Best practice per le modifiche in tempo reale

Di seguito sono riportate alcune best practice per la configurazione e la gestione dei flussi di modifiche.

Considera un database di metadati separato

Le modifiche in tempo reale utilizzano un database di metadati per mantenere lo stato interno. Il database dei metadati può essere uguale o diverso da quello che contiene i flussi di modifiche. Consigliamo di creare un database separato per l'archiviazione dei metadati.

Il connettore degli stream di variazioni Spanner richiede autorizzazioni di lettura/scrittura per il database dei metadati. Non è necessario preparare questo database con uno schema; il connettore si occupa di tutto.

L'utilizzo di un database dei metadati separato elimina le complessità che potrebbero sorgere se si consente al connettore di scrivere direttamente nel database dell'applicazione:

  • Se separi il database dei metadati dal database di produzione con il flusso di modifiche, il connettore ha bisogno solo delle autorizzazioni di lettura per il database di produzione.

  • Se limiti il traffico del connettore a un database di metadati distinto, le scritture eseguite dal connettore stesso non vengono incluse negli stream di variazioni di produzione. Ciò è particolarmente importante per i flussi di modifiche che monitorano l'intero database.

Se non viene utilizzato un database separato per archiviare i metadati, ti consigliamo di monitorare l'impatto della CPU del connettore degli stream di modifiche sulle relative istanze.

Esegui il benchmarking dei nuovi stream di modifiche e ridimensiona se necessario

Prima di aggiungere nuovi modifiche in tempo reale all'istanza di produzione, valuta la possibilità di benchmark di un carico di lavoro realistico su un'istanza di gestione temporanea con modifiche Stream abilitati. Ciò consente di determinare se è necessario aggiungere nodi alla tua istanza, per aumentarne le capacità di calcolo e di archiviazione capacità.

Esegui questi test finché le metriche della CPU e dello spazio di archiviazione non si stabilizzano. In modo ottimale, l'utilizzo della CPU dell'istanza dovrebbe rimanere i valori massimi consigliati e l'utilizzo dello spazio di archiviazione non deve superare il limite dell'istanza.

Usa regioni diverse per il bilanciamento del carico

Quando utilizzi le modifiche in tempo reale in una configurazione di istanze multiregionali, valuta la possibilità di eseguire delle loro pipeline di elaborazione in una regione diversa da quella del leader predefinito regione. In questo modo, il carico dello streaming viene distribuito tra le repliche non leader. Tuttavia, se devi dare la priorità al ritardo di streaming più basso possibile rispetto al bilanciamento del carico, esegui il carico di streaming nella regione leader.

Passaggi successivi