Gestire manualmente i contenuti della colonna del negozio

Seleziona una versione della documentazione:

Questa pagina descrive come gestire i contenuti dell'archivio colonne del motore colonnare aggiungendo e rimuovendo manualmente le colonne.

In base al carico di lavoro, puoi aggiungere manualmente colonne all'archivio colonne o eliminare alcune o tutte le colonne di una tabella o di una vista materializzata dall'archivio colonne. La valutazione delle query utilizza automaticamente i dati colonnari archiviati per rispondere alle query.

Quando scegli le tabelle, le viste materializzate e le colonne da aggiungere al column store, considera sia le dimensioni del column store sia la forma del workload. I candidati ideali per la selezione includono tabelle o viste di grandi dimensioni che vengono scansionate di frequente. All'interno di queste tabelle o viste, identifica eventuali indici non univoci di grandi dimensioni utilizzati dal carico di lavoro OLAP. Puoi aggiungere le colonne di questi indici al columnstore ed eliminare potenzialmente gli indici, eliminando così il costo delle prestazioni associato alla loro manutenzione nell'istanza primaria.

Utilizza uno dei seguenti metodi per gestire i contenuti dell'archivio colonne del motore colonnare:

Consulta la sezione Quali dati puoi aggiungere al column store per informazioni sui tipi di dati e sulle origini dati che puoi utilizzare quando aggiungi tabelle, colonne e viste materializzate al column store.

Gestisci i contenuti dello column store aggiornando i flag del database

Puoi gestire manualmente i contenuti del column store aggiornando il flag del database google_columnar_engine.relations. Il flag ha un singolo valore che specifica tutte le origini dati del column store. Durante il riavvio, le colonne specificate in questo flag vengono compilate automaticamente nell'archivio colonne.

Puoi utilizzare questo flag insieme alla conversione automatica in colonne. Se il motore colonnare ha memoria disponibile dopo aver compilato le colonne che specifichi tramite il flag google_columnar_engine.relations, la colonnarizzazione automatica aggiunge altre colonne all'archivio colonne, in base alle necessità.

Aggiungere colonne utilizzando i flag

Per aggiungere colonne all'archivio colonne, definisci il flag google_columnar_engine.relations di un'istanza. Imposta il valore su un elenco di elementi separati da virgole, in cui ogni elemento specifica un elenco di colonne da includere in una tabella specifica, nel seguente formato:

DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_LIST)

Sostituisci quanto segue:

  • DATABASE_NAME: il database contenente le colonne da aggiungere al column store.

  • SCHEMA_NAME: lo schema che identifica le tabelle o le viste materializzate da aggiungere al column store, ad esempio public.

  • TABLE_NAME: la tabella o la vista materializzata contenente le colonne da aggiungere al column store.

  • COLUMN_LIST: un elenco separato da virgole delle colonne da aggiungere al column store.

Per aggiungere tutte le colonne di una tabella o di una vista materializzata, ometti l'elenco delle colonne:

DATABASE_NAME.SCHEMA_NAME.TABLE_NAME
ALTER SYSTEM SET google_columnar_engine.relations='DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_1,COLUMN_2)';

Eliminare colonne utilizzando i flag

Per eliminare colonne dall'archivio colonne, imposta un nuovo valore per il flag google_columnar_engine.relations descritto in Aggiungere colonne utilizzando i flag, omettendo le colonne che vuoi eliminare.

Per eliminare tutte le colonne dallo column store, rimuovi il flag google_columnar_engine.relations dall'istanza.

Per saperne di più sull'impostazione dei flag del database su un'istanza, consulta Configurare i parametri del database AlloyDB Omni.

Gestire i contenuti dello column store utilizzando le funzioni SQL

Puoi gestire manualmente i contenuti dello column store utilizzando le funzioni SQL.

Aggiungere colonne utilizzando le funzioni SQL

Esegui la funzione SQL google_columnar_engine_add per aggiungere colonne al column store.

Questo metodo aggiunge le colonne specificate all'archivio colonne e gestisce le colonne solo nel nodo connesso. Le nuove colonne non vengono mantenute all'interno dello store dopo i riavvii dell'istanza.

Questo metodo non modifica il flag google_columnar_engine.relations del database. La suddivisione automatica in colonne non considera le colonne aggiunte da questa funzione SQL.

Client psql

SELECT google_columnar_engine_add(
    relation => 'TABLE_NAME',
    columns => 'COLUMN_LIST'
);
    Sostituisci quanto segue:
  • "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, un punto e il nome della tabella o della visualizzazione; ad esempio, 'myschema.mytable'.
  • "COLUMN_LIST": una stringa contenente un elenco separato da virgole e sensibile alle maiuscole e minuscole dei nomi delle colonne che vuoi aggiungere. Se vuoi aggiungere tutte le colonne della tabella o della vista materializzata all'archivio colonne, ometti questo parametro.

Eliminare colonne utilizzando le funzioni SQL

Esegui la funzione SQL google_columnar_engine_drop nel seguente modo:

Client psql

SELECT google_columnar_engine_drop(
    relation => 'TABLE_NAME',
    columns => 'COLUMN_LIST'
);
Sostituisci quanto segue:
  • "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, un punto e il nome della tabella o della visualizzazione; ad esempio, 'myschema.mytable'.
  • "COLUMN_LIST": una stringa contenente un elenco separato da virgole e sensibile alle maiuscole e minuscole dei nomi delle colonne che vuoi aggiungere. Se vuoi aggiungere tutte le colonne della tabella o della vista materializzata all'archivio colonne, ometti questo parametro.

Puoi utilizzare la funzione google_columnar_engine_drop per rimuovere le colonne aggiunte modificando il flag del database google_columnar_engine.relations. Tuttavia, quando lo fai, queste colonne vengono aggiunte nuovamente allo spazio di archiviazione colonnare al riavvio dell'istanza.