Mantenere aggiornati i dati del magazzino delle colonne in memoria

Questa pagina descrive come mantenere aggiornati i dati nello spazio di archiviazione a colonne dell'engine a colonne in AlloyDB Omni in un contenitore.

Quando le righe della tabella vengono aggiunte, eliminate o aggiornate, il motore a colonne non aggiorna immediatamente i dati nello spazio di archiviazione a colonne. Contrassegni invece come non validi i contenuti interessati nel colonna store e le query vengono pianificate e eseguite utilizzando sia i dati orientati alle colonne del colonna store sia i dati orientati alle righe della cache riga e dell'archiviazione del database.

Nel tempo, man mano che un numero sempre maggiore di blocchi di dati diventa non valido, i miglioramenti delle prestazioni delle query forniti dal motore colonnare si riducono al punto che i dati colonnari devono essere aggiornati per recuperare i miglioramenti delle prestazioni delle query. Quando viene raggiunta questa soglia di aggiornamento, il motore colonnare utilizza un job in background per aggiornare i dati non validi nel collezionista di colonne. Per impostazione predefinita, il motore a colonne utilizza una soglia di aggiornamento di 50, che indica che determinati contenuti nello spazio di archiviazione a colonne vengono contrassegnati per l'aggiornamento quando il 50% dei contenuti non è più valido. Puoi modificare questa soglia di aggiornamento per regolare l'overhead dell'aggiornamento automatico e potenzialmente migliorare il rendimento delle query in corso per il tuo carico di lavoro dell'applicazione.

Inoltre, puoi aggiornare manualmente i dati di una tabella nell'archivio colonne in qualsiasi momento. In genere, esegui un aggiornamento manuale quando vuoi che le modifiche apportate a una tabella vengano applicate al magazzino delle colonne il prima possibile.

Modificare la soglia di aggiornamento del motore colonnare

Modifica il valore del flag del database google_columnar_engine.refresh_threshold_percentage per modificare la soglia di aggiornamento del motore colonnare.

    ALTER SYSTEM SET google_columnar_engine.refresh_threshold_percentage=THRESHOLD;

THRESHOLD: un valore intero compreso tra 1 e 100. Questo valore specifica la percentuale di blocchi di dati nei contenuti che deve diventare non valida affinché i contenuti vengano contrassegnati per l'aggiornamento.

Aggiornare manualmente i dati di una tabella nello spazio di archiviazione a colonne

Esegui la funzione SQL google_columnar_engine_refresh per aggiornare manualmente i dati di una tabella nell'archivio delle colonne in memoria.

SELECT google_columnar_engine_refresh(TABLE_NAME);

TABLE_NAME: una stringa contenente il nome della tabella o della vista materializzata. Se la tabella o la visualizzazione si trova in uno schema diverso da public, specifica il nome dello schema utilizzando il formato SCHEMA_NAME.TABLE_NAME, ad esempio myschema.mytable.