Creare e gestire modifiche in tempo reale

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

Poiché le modifiche in tempo reale sono oggetti dello schema, puoi crearle e gestirle tramite gli stessi aggiornamenti dello schema basati su DDL utilizzati per qualsiasi altro tipo di attività di definizione dei database, come la creazione di tabelle o l'aggiunta di indici.

Spanner avvia un'operazione a lunga esecuzione dopo che hai inviato un'istruzione DDL che modifica lo schema, incluse quelle utilizzate per creare, modificare o eliminare le modifiche in tempo reale. Un flusso di modifiche nuovo o modificato inizierà a osservare le colonne o le tabelle specificate dalla nuova configurazione una volta completata questa operazione a lunga esecuzione.

Crea un flusso di modifiche

Per creare un flusso di modifiche, devi specificarne il nome e gli oggetti dello schema che monitorerà: 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 è simile alla seguente:

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 è simile alla 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 flusso di modifiche inizia a monitorare gli oggetti dello schema assegnati non appena viene completata l'operazione a lunga esecuzione che lo ha creato.

I seguenti esempi illustrano la creazione di modifiche in tempo reale con varie configurazioni.

Controlla un intero database

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

CREATE CHANGE STREAM EverythingStream
FOR ALL;

La configurazione ALL include implicitamente tutte le tabelle e le colonne di dati future del database, non appena vengono create. Non include viste, tabelle di schema di informazioni o altri oggetti oltre alle normali tabelle di dati.

Guarda 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 i flussi di modifiche che controllano intere tabelle per riflettere eventuali modifiche allo schema che interessano quelle tabelle, ad esempio colonne aggiunte o eliminate.

Visualizza colonne specifiche

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

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

Non puoi specificare colonne di chiave primaria qui perché ogni flusso di modifiche monitora sempre le chiavi primarie di ogni tabella che controlla. In questo modo ogni record di modifiche ai dati può identificare la riga modificata in base alla relativa chiave primaria.

Controlla tabelle e colonne in un singolo flusso

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

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

Specifica un periodo di conservazione più lungo

Per specificare un periodo di conservazione dei dati delle modifiche in tempo reale più lungo del giorno predefinito di un giorno, imposta retention_period su un periodo di massimo una settimana, espresso in ore (h) o giorni (d).

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' );

Specifica un tipo di acquisizione 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' );

Filtra 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 delle eliminazioni in base alla durata.

GoogleSQL

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
OPTIONS (exclude_ttl_deletes = true)

Sostituisci quanto segue:

  • CHANGE_STREAM_NAME: il nome del nuovo flusso di modifiche

L'esempio seguente 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 flusso di modifiche

L'esempio seguente crea un flusso di modifiche denominato 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 flusso di modifiche esistente, consulta Modificare il filtro di eliminazione basato su TTL. Puoi confermare i filtri delle modifiche in tempo reale 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 dall'ambito del flusso di modifiche utilizzando le seguenti opzioni di filtro disponibili:

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

Per ulteriori informazioni sul funzionamento di questi filtri, consulta Filtri per il tipo di modifica delle tabelle.

GoogleSQL

Per creare un flusso di modifiche con uno o più filtri del tipo di modifica delle tabelle, utilizza quanto segue:

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

Sostituisci quanto segue:

  • CHANGE_STREAM_NAME: il nome del nuovo flusso di modifiche
  • 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 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ù filtri del tipo di modifica delle tabelle, utilizza quanto segue:

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

Sostituisci quanto segue:

  • CHANGE_STREAM_NAME: il nome del flusso 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 un flusso di modifiche denominato NewFilterChangeStream che esclude i tipi di transazioni di modifica della tabella INSERT e UPDATE:

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 flusso di modifiche esistente, consulta Modificare il filtro per tipo di modifica della tabella. Puoi confermare quali filtri del tipo di modifica della tabella esistono per il flusso di modifiche visualizzando le definizioni del flusso di modifiche come DDL.

Modificare un flusso di modifiche

Per modificare la configurazione di un flusso di modifiche, utilizza un'istruzione DDL ALTER CHANGE STREAM. Usa una sintassi simile a CREATE CHANGE STREAM. Puoi modificare le colonne controllate da uno stream o la durata del periodo di conservazione dei dati. Puoi anche sospendere del tutto la visione e conservare i record delle modifiche dei dati.

Modificare il contenuto di una modifica in tempo reale

In questo esempio viene aggiunta l'intera tabella Songs al flusso di modifiche NamesAndAlbums configurato in precedenza:

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

Spanner sostituisce il comportamento del flusso di modifiche denominato con la nuova configurazione al completamento dell'operazione a lunga esecuzione che aggiorna la definizione del flusso di modifiche all'interno dello schema del database.

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

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

Questo esempio regola il periodo di conservazione dei dati in base allo stream di modifiche NamesAndAlbums creato 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 del valore di un flusso di modifiche

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

In questo esempio il tipo di acquisizione del valore viene impostato 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' );

Modifica filtro eliminazioni basate su TTL

Per modificare il filtro eliminazioni basate su TTL per un flusso di modifiche, imposta il filtro exclude_ttl_deletes in un'istruzione DDL ALTER CHANGE STREAM. Puoi utilizzare questa opzione per aggiungere o rimuovere il filtro dalle modifiche in tempo reale esistenti.

Per ulteriori informazioni sul funzionamento di questi filtri, consulta Filtro delle eliminazioni basate sulla durata.

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 quanto segue 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 flusso di modifiche esistente

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 dal flusso di modifiche basate su TTL.

PostgreSQL

Per aggiungere il filtro di eliminazione basato su TTL a un flusso 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 flusso di modifiche esistente

Nell'esempio seguente, il filtro exclude_ttl_deletes viene aggiunto a un flusso di modifiche esistente denominato 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 quanto segue 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 flusso di modifiche

Nell'esempio seguente, il filtro exclude_ttl_deletes viene rimosso da un flusso di modifiche esistente denominato 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 un flusso 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 flusso di modifiche

Nell'esempio seguente, il filtro exclude_ttl_deletes viene rimosso da un flusso di modifiche esistente denominato 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.

Modifica il filtro per 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 flusso di modifiche.

Aggiungere un filtro del tipo di modifica della tabella a un flusso di modifiche esistente

GoogleSQL

Per aggiungere uno o più nuovi filtri del tipo di modifica della tabella a un flusso di modifiche esistente, utilizza quanto segue 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 dello stream di modifiche esistente
  • MOD_TYPE_FILTER_NAME: sostituisci con il filtro che vuoi 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 flusso di modifiche esistente denominato NewFilterChangeStream:

ALTER CHANGE STREAM NewFilterChangeStream
SET OPTIONS (exclude_delete = true)

PostgreSQL

Per aggiungere uno o più nuovi filtri del tipo di modifica della tabella a un flusso di modifiche esistente, utilizza quanto segue 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 dello stream di modifiche esistente
  • MOD_TYPE_FILTER_NAME: sostituisci con il filtro che vuoi 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 flusso di modifiche esistente denominato NewFilterChangeStream:

ALTER CHANGE STREAM NewFilterChangeStream
SET (exclude_delete = true)

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

GoogleSQL

Per rimuovere uno o più filtri esistenti per il tipo di modifica delle tabelle nel flusso di modifiche, 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 dello stream di modifiche esistente
  • MOD_TYPE_FILTER_NAME: sostituisci con il filtro che vuoi rimuovere: exclude_insert, exclude_update o exclude_delete. Se rimuovi più filtri contemporaneamente, separali con una virgola.

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

ALTER CHANGE STREAM NewFilterChangeStream
SET OPTIONS (exclude_delete = false)

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

PostgreSQL

Per rimuovere uno o più filtri esistenti per il tipo di modifica delle tabelle nel flusso di modifiche, 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 dello stream di modifiche esistente
  • MOD_TYPE_FILTER_NAME: sostituisci con il filtro che vuoi 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 flusso di modifiche esistente denominato NewFilterChangeStream:

ALTER CHANGE STREAM NewFilterChangeStream
SET (exclude_delete = false)

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

Sospendere un flusso di modifiche

Se desideri che un flusso di modifiche interrompa la sua attività, ma conservare i suoi record interni, almeno per l'intera durata del periodo di conservazione dei dati, puoi modificarlo in modo che non esamini nulla.

A tal fine, invia un'istruzione DDL ALTER CHANGE STREAM che sostituisca la definizione del flusso di modifiche con la frase speciale DROP FOR ALL. Ad esempio:

ALTER CHANGE STREAM MyStream DROP FOR ALL;

Il flusso continua a esistere nel database, ma non controlla alcun oggetto e non genera ulteriori record delle modifiche dei dati. I record delle modifiche esistenti rimangono invariati, soggetti ai criteri di conservazione dei dati dello stream.

Per riprendere un flusso sospeso, invia un'altra istruzione ALTER CHANGE STREAM con la 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, lo rimuove dallo schema del database ed elimina i record delle modifiche dei dati.

Elenco e visualizzazione delle modifiche in tempo reale

La console Google Cloud offre un'interfaccia web per elencare e rivedere le definizioni delle modifiche in tempo reale di un database. Puoi anche visualizzare la struttura delle modifiche in tempo reale come istruzioni DDL equivalenti o eseguendo una query sullo schema di informazioni del database.

Visualizza le modifiche in tempo reale 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 Istanze Spanner della console Google Cloud.

    Apri la pagina Istanze

  2. Vai all'istanza e al database appropriati.

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

Viene visualizzato un elenco di tutti i modifiche in tempo reale del database e riepiloga la configurazione di ciascuno. Facendo clic sul nome di un flusso, vengono visualizzati ulteriori dettagli sulle tabelle e sulle colonne che controlla.

Visualizza le definizioni dei modifiche in tempo reale come DDL

La visualizzazione dello schema di un database come DDL include le descrizioni di tutti i suoi modifiche in tempo realee, in cui vengono visualizzate 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 sullo schema di informazioni di un database suimodifiche in tempo realee. Le seguenti tabelle contengono i metadati che definiscono i nomi delle modifiche in tempo reale, le tabelle e le colonne controllate e i relativi periodi di conservazione:

Best practice per le modifiche in tempo reale

Di seguito sono riportate alcune best practice per configurare e gestire i 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 di metadati può essere uguale o diverso dal database che contiene le modifiche in tempo reale. Consigliamo di creare un database separato per l'archiviazione dei metadati.

Il connettore delle modifiche in tempo reale di Spanner deve disporre delle autorizzazioni di lettura/scrittura. Non è necessario preparare questo database con uno schema, perché è il connettore a occuparsene.

L'utilizzo di un database di metadati separato elimina le complessità che potrebbero derivare dal consentire al connettore di scrivere direttamente nel database delle applicazioni:

  • Separando il database dei metadati dal database di produzione con il flusso di modifiche, il connettore necessita solo delle autorizzazioni di lettura per il database di produzione.

  • Limitando il traffico del connettore a un database di metadati separato, le scritture eseguite dal connettore stesso non vengono incluse nei modifiche in tempo reale in produzione. Ciò è particolarmente importante per modifiche in tempo reale che controllano l'intero database.

Se non viene utilizzato nessun database separato per archiviare i metadati, ti consigliamo di monitorare l'impatto sulla CPU del connettore per modifiche in tempo reale sulle istanze.

Confronta i nuovi modifiche in tempo reale e ridimensiona se necessario

Prima di aggiungere nuovi modifiche in tempo reale all'istanza di produzione, valuta la possibilità di eseguire il benchmarking di un carico di lavoro realistico su un'istanza temporanea in cui sono abilitati i flussi di modifiche. Ciò consente di determinare se è necessario aggiungere nodi all'istanza per aumentarne le capacità di calcolo e archiviazione.

Esegui questi test finché le metriche di CPU e spazio di archiviazione non si stabilizzano. In modo ottimale, l'utilizzo della CPU dell'istanza dovrebbe rimanere al di sotto dei limiti massimi consigliati e l'utilizzo dello spazio di archiviazione non deve superare il limite di archiviazione 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 le pipeline di elaborazione in una regione diversa da quella leader predefinita. Ciò consente di distribuire il carico dei flussi di dati tra le repliche non leader. Tuttavia, se devi dare la priorità al ritardo di flusso più basso possibile rispetto al bilanciamento del carico, esegui il carico di flussi di dati nella regione leader.

Passaggi successivi