Questa pagina descrive come attivare o disattivare il motore colonnare su un'istanza AlloyDB per PostgreSQL. Inoltre, spiega come configurare una dimensione iniziale appropriata per il relativo magazzino delle colonne, nonché le impostazioni della cache di memoria e archiviazione per prestazioni ottimali.
Per utilizzare il motore colonnare quando utilizzi AlloyDB Omni, consulta Abilitare il motore colonnare in AlloyDB Omni.
Ognuna di queste azioni comporta la modifica del valore di un flag del database su una delle istanze AlloyDB. Per ulteriori informazioni sull'impostazione dei flag di database, consulta Configurare i flag di database di un'istanza.
Per una panoramica concettuale del motore colonnare AlloyDB, consulta Informazioni sul motore colonnare AlloyDB.
Attivare il motore colonnare
Per utilizzare il motore colonnare in un'istanza, imposta il flag google_columnar_engine.enabled
dell'istanza su on
.
Per ulteriori informazioni sull'impostazione dei flag di database in AlloyDB, consulta Configurare i flag di database di un'istanza.
Configurare le dimensioni del datastore delle colonne
Quando il motore a colonne è abilitato in un'istanza, AlloyDB alloca una parte della memoria dell'istanza per memorizzare i suoi dati a colonne. Se dedichi RAM ad alta velocità allo spazio di archiviazione a colonne, AlloyDB può accedere ai dati a colonne il più rapidamente possibile.
La cache della memoria e dello spazio di archiviazione rappresentano insieme la capacità complessiva del motore colonnare.
Configura la memoria per il motore colonnare
Se il magazzino delle colonne diventa più grande della parte allocata della memoria dell'istanza, AlloyDB utilizza automaticamente il livello cache sottostante dell'istanza per memorizzare i dati colonnari aggiuntivi.Per impostazione predefinita, AlloyDB alloca il 30% della memoria dell'istanza allo spazio di archiviazione a colonne e regola automaticamente l'allocazione totale se redimensioni l'istanza. Puoi modificare la memoria dell'istanza fino a un massimo del 50%. Per trovare le dimensioni consigliate della memoria del motore colonnare per la tua istanza, consulta Consiglia dimensioni della memoria del magazzino delle colonne.
Puoi anche impostare l'allocazione su una dimensione fissa e specifica utilizzando il flag google_columnar_engine.memory_size_in_mb
.
Per fare in modo che AlloyDB torni all'allocazione predefinita,
rimuovi il flag dall'istanza.
Per ulteriori informazioni su come impostare o eliminare i flag, consulta la sezione Configurare i flag del database di un'istanza.
Configura la cache dello spazio di archiviazione per il motore colonnare
Il provisioning della cache di archiviazione del motore colonnare viene eseguito in base al livello dell'istanza.
Livello istanza | Dimensioni predefinite della cache del motore colonnare | |
---|---|---|
Istanza principale | Istanza replica di lettura | |
2 vCPU | 18,75 GB | 37,5 GB |
4 vCPU | 18,75 GB | 37,5 GB |
8 vCPU | 18,75 GB | 37,5 GB |
16 vCPU | 37,5 GB | 37,5 GB |
32 vCPU | 75 GB | 75 GB |
64 vCPU | 150 GB | 150 GB |
96 vCPU | 300 GB | 300 GB |
128 vCPU | 450 GB | 450 GB |
Il flag google_columnar_engine.storage_cache_size
consente di regolare la cache dello spazio di archiviazione dell'engine a colonne, con le limitazioni dei valori minimo e massimo elencati nella tabella seguente:
Livello istanza | Dimensioni minime della cache del motore colonnare | Dimensioni massime della cache del motore colonnare | |
---|---|---|---|
Istanza principale | Istanza replica di lettura | ||
2 vCPU | 0 | 187,5 GB | 375 GB |
4 vCPU | 0 | 187,5 GB | 375 GB |
8 vCPU | 0 | 187,5 GB | 375 GB |
16 vCPU | 0 | 375 GB | 375 GB |
32 vCPU | 0 | 750 GB | 750 GB |
64 vCPU | 0 | 1500 GB | 1500 GB |
96 vCPU | 0 | 3000 GB | 3000 GB |
128 vCPU | 0 | 4500 GB | 4500 GB |
Monitorare i dati della cache di archiviazione per il motore colonnare
Per visualizzare informazioni sulla cache di archiviazione del motore colonnare, puoi eseguire una delle seguenti query SQL.
Query SQL | Descrizione |
---|---|
SELECT google_columnar_engine_storage_cache_used(); |
Restituisce le dimensioni della cache dello spazio di archiviazione del motore colonnare utilizzato. |
SELECT google_columnar_engine_storage_cache_available(); |
Restituisce le dimensioni della cache dello spazio di archiviazione del motore colonnare inutilizzato. |
SELECT google_columnar_engine_storage_cache_total(); |
Restituisce la quantità totale delle dimensioni configurate della cache di archiviazione per il motore colonnare. |
Attivare l'unione vettore
Il motore colonnare dispone di una funzionalità di join vettoriale che può migliorare le prestazioni dei join applicando l'elaborazione vettoriale alle query idonee.
Dopo aver attivato l'unione vettoriale, lo schema di query di AlloyDB ha la possibilità di applicare l'operatore di unione vettoriale anziché l'operatore di unione hash PostgreSQL standard. Il pianificatore prende questa decisione confrontando il costo di esecuzione della query utilizzando uno dei due metodi.
Per attivare l'unione vettorizzata in un'istanza, imposta il flag google_columnar_engine.enable_vectorized_join
dell'istanza su on
.
Per impostazione predefinita, AlloyDB alloca un thread alla funzionalità di join vettore. Puoi aumentare il numero di thread disponibili per questa funzionalità impostando il flag google_columnar_engine.vectorized_join_threads
su un valore maggiore.
Aggiornare manualmente il motore colonnare
Per impostazione predefinita, il motore colonnare è impostato per aggiornare automaticamente il magazzino delle colonne in background quando è abilitato. Potresti dover aggiornare manualmente l'armadietto colonnare in determinate situazioni, ad esempio se l'aggiornamento automatico non aggiorna una relazione con un numero elevato di blocchi non validi.
Per aggiornare manualmente il motore delle colonne, esegui la seguente query SQL:
SELECT google_columnar_engine_refresh('TABLE_NAME');
Sostituisci TABLE_NAME
con il nome della tabella o della vista materializzata che vuoi aggiornare manualmente.
Disattivare il motore colonnare
Per disattivare il motore columbar su un'istanza, imposta il flag google_columnar_engine.enabled
su off
.
Dopo aver impostato questo flag, l'istanza si riavvia automaticamente.
Risolvere i problemi relativi al motore colonnare
Se le colonne non vengono compilate nel motore a colonne, potrebbe verificarsi una delle seguenti situazioni:
Le colonne che vuoi aggiungere includono un tipo di dati non supportato.
I requisiti del motore colonnare non vengono soddisfatti.
Per trovare la causa del problema, prova quanto segue:
Esamina i log di controllo dell'istanza.
Verifica che le tabelle o le viste materializzate nella query siano nel motore colonnare.
Verifica l'utilizzo del motore colonnare utilizzando l'istruzione
EXPLAIN
.
Passaggi successivi
Consulta l'elenco completo dei flag del database del motore colonnare.
Scopri di più sulla colonnizzazione automatica.