Questa pagina descrive come creare, modificare e visualizzare la modifica di Spanner i flussi di dati. 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 crearli e gestirli tramite lo stesso schema basato su DDL aggiornamenti usati per qualsiasi altro tipo di operazioni di definizione dei 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 flusso di modifiche nuovo o alterato inizia a osservare le colonne o le tabelle specificate dalla nuova configurazione al termine di questa operazione a lunga esecuzione.
Crea un flusso di modifiche
Per creare un flusso di modifiche, devi specificarne il nome e lo schema oggetti che guarderà: l'intero database o un elenco di tabelle e colonne. Facoltativamente, puoi specificare quanto segue:
- periodo di conservazione per sostituire il giorno periodo di conservazione predefinito
- value Capture type (Tipo di acquisizione valore) per eseguire l'override del valore predefinito.
tipo di acquisizione
OLD_AND_NEW_VALUES
. - Filtro di eliminazione basato su TTL se vuoi applicare un filtro Eliminazioni basate su TTL dai modifiche in tempo reale
escludi le modifiche alla tabella per escludere tutte le modifiche apportate alle tabelle
INSERT
,UPDATE
oDELETE
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 nel seguente modo:
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 controllare gli oggetti dello schema assegnati non appena viene completata l'operazione a lunga esecuzione che l'ha creata.
I seguenti esempi illustrano la creazione di modifiche in tempo reale con configurazioni diverse.
Controlla 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.
Guarda tabelle specifiche
Per limitare l'ambito di un flusso di modifiche a tabelle specifiche, anziché di un intero database, specifica un elenco di uno o più tabelle:
CREATE CHANGE STREAM SingerAlbumStream
FOR Singers, Albums;
Spanner aggiorna automaticamente la modifica Flussi che guardano intere tabelle per riflettere eventuali modifiche allo schema che interessano queste tabelle, come le colonne aggiunte o eliminate.
Visualizza colonne specifiche
Utilizza la sintassi table(column_1[, column_2,
...])
per osservare le modifiche a uno o più elementi
colonne non chiave all'interno delle tabelle denominate:
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 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
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
).
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 di eliminazione basato sulla 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 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
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 delle modifiche in tempo reale Visualizzazione delle 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 leINSERT
modifiche alla tabellaexclude_update
: escludi tutte leUPDATE
modifiche alla tabellaexclude_delete
: escludi tutte leDELETE
modifiche alla tabella
Per ulteriori informazioni su come funzionano questi filtri, consulta: Filtri del 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 modifiche in tempo reale
- MOD_TYPE_FILTER_NAME: il filtro che vuoi
da aggiungere:
exclude_insert
,exclude_update
oexclude_delete
. Se aggiungi più di un filtro alla volta, separali con una virgola.
L'esempio seguente crea una modifica in tempo reale NewFilterChangeStream
che esclude i tipi di modifica della tabella 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 tuo esistente modifiche in tempo reale
- MOD_TYPE_FILTER_NAME: il filtro che vuoi
da aggiungere:
exclude_insert
,exclude_update
oexclude_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 il tuo 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 visione mentre
con la conservazione dei propri record
delle modifiche dei dati.
Modificare il contenuto di una modifica in tempo reale
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;
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 .
Modificare il periodo di conservazione dei dati di un flusso di modifiche
Per modificare il periodo di tempo in cui un flusso di modifiche mantiene il proprio interno
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 del valore di un flusso di modifiche
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
.
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 una modifica
, imposta il filtro exclude_ttl_deletes
in un DDL ALTER CHANGE STREAM
l'Informativa. Puoi utilizzare questa opzione per aggiungere o rimuovere il filtro da
i modifiche in tempo reale esistenti.
Per ulteriori informazioni su come funzionano questi filtri, consulta: Filtro di eliminazione basato 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 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 dal flusso di modifiche basate su TTL.
PostgreSQL
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 STREAM_NAME FOR ALL
SET (exclude_ttl_deletes = true)
Sostituisci quanto segue:
- 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
:
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 modifiche in tempo reale
Nell'esempio seguente, il filtro exclude_ttl_deletes
viene rimosso da una
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 il seguente comando 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 modifiche in tempo reale
Nell'esempio seguente, il filtro exclude_ttl_deletes
viene rimosso da una
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 utilizzare questo
per aggiungere un nuovo filtro o rimuovere un filtro esistente dalla modifica in tempo reale.
Aggiungere un filtro del tipo di modifica della tabella a un flusso 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
oexclude_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
oexclude_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 (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 i tipi di modifica delle tabelle in
modifiche in tempo reale, utilizza il seguente comando 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
oexclude_delete
. Se rimuovi più filtri contemporaneamente, 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 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 esistenti per i tipi di modifica delle tabelle in
modifiche in tempo reale, utilizza il seguente comando 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
oexclude_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 desideri che una modifica in tempo reale interrompa la sua attività pur mantenendo la sua interni (almeno per l'intera durata del periodo di conservazione dei dati) può modificarlo in modo che non guardi nulla.
A tale scopo, invia un'istruzione DDL ALTER CHANGE STREAM
che sostituisce
la definizione della modifica in tempo reale 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 di modifiche ai dati. La modifica esistente rimangono intatti, ai sensi dei criteri di 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, invia un DROP CHANGE STREAM
che include 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 offre un'interfaccia web per elencare e esaminare le definizioni delle modifiche in tempo reale di un database. Puoi anche visualizzare struttura delle modifiche in tempo reale come istruzioni DDL equivalenti oppure a eseguire 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:
Visita la pagina Istanze Spanner della console Google Cloud.
Vai all'istanza e al database appropriati.
Fai clic su Modifica 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.
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 reale, 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 configurare e gestire il cambiamento i flussi di dati.
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 che contiene le modifiche in tempo reale. Consigliamo di creare un database separato per l'archiviazione dei metadati.
Il connettore di modifiche in tempo reale di Spanner richiede la lettura e la scrittura le autorizzazioni per il database dei metadati. Non è necessario preparare questo un database con uno schema; è il connettore.
L'utilizzo di un database di metadati separato consente di eliminare le complessità che potrebbero sorgere di consentire al connettore di scrivere direttamente nel database delle applicazioni:
Separando il database di metadati da al database di produzione con la modifica in tempo reale, il connettore necessita solo autorizzazioni di lettura per il database di produzione.
Limitando il traffico del connettore a metadati separati le scritture eseguite dal connettore stesso non sono incluse nei modifiche in tempo reale della produzione. Ciò è particolarmente pertinente per le modifiche in tempo reale che controllano l'intero database.
Se non viene utilizzato alcun database separato per archiviare i metadati, ti consigliamo monitorando l'impatto sulla CPU del connettore di 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 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 di CPU e 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. Ciò consente di distribuire il carico dei flussi di dati tra le repliche non leader. Se devi dare la priorità al ritardo di streaming più basso possibile del carico, tuttavia, esegue il carico di flussi di dati nella regione leader.
Passaggi successivi
Creazione di pipeline di modifiche in tempo reale con Dataflow.
Utilizza i modelli connettere rapidamente un flusso di modifiche a BigQuery, Cloud Storage o Pub/Sub.