Gestire manualmente i contenuti dello column store

Seleziona una versione della documentazione:

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

In base al tuo workload, puoi aggiungere manualmente colonne al columnstore o eliminare alcune o tutte le colonne di una tabella o di una vista materializzata dal columnstore. La valutazione delle query utilizza automaticamente i dati colonnari archiviati per rispondere alle query.

Quando scegli quali tabelle, viste materializzate e colonne aggiungere al columnstore, considera sia le dimensioni del columnstore sia la forma del workload. I candidati ideali per la selezione includono tabelle o viste di grandi dimensioni che vengono analizzate di frequente. All'interno di queste tabelle o viste, identifica gli indici non univoci di grandi dimensioni utilizzati dal workload OLAP. Puoi aggiungere le colonne di questi indici al columnstore ed eventualmente eliminare gli indici, eliminando così il costo in termini di prestazioni associato alla loro manutenzione nell'istanza principale.

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

Consulta 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 del columnstore aggiornando i flag di database

Puoi gestire manualmente i contenuti dell'archivio di colonne aggiornando il flag di database google_columnar_engine.relations. Il flag ha un unico valore che specifica tutte le origini dati del columnstore. Durante il riavvio, le colonne specificate in questo flag vengono inserite automaticamente nell'archivio di colonne.

Puoi utilizzare questo flag insieme all'auto-colonnarizzazione. Se il motore colonnare ha memoria disponibile dopo aver compilato le colonne specificate tramite il flag google_columnar_engine.relations, l'auto-colonnarizzazione aggiunge altre colonne all'archivio di colonne, se necessario.

Aggiungi colonne utilizzando i flag

Per aggiungere colonne all'archivio di 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 da una tabella specifica, in questo formato:

DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_LIST)

Sostituisci quanto segue:

  • DATABASE_NAME: il database contenente le colonne da aggiungere all'archivio di colonne.

  • SCHEMA_NAME: lo schema che identifica le tabelle o le viste materializzate da aggiungere all'archivio a colonne, ad esempio public.

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

  • COLUMN_LIST: un elenco separato da virgole delle colonne da aggiungere all'archivio di colonne.

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

DATABASE_NAME.SCHEMA_NAME.TABLE_NAME
L'esempio seguente mostra come aggiungere due colonne all'archivio di colonne impostando google_columnar_engine.relations nella sezione parameters del manifest DBCluster:

spec:
  primarySpec:
    parameters:
      google_columnar_engine.relations: "DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_1,COLUMN_2)"

Sostituisci quanto segue:

  • DATABASE_NAME: il database contenente le colonne da aggiungere all'archivio di colonne.
  • SCHEMA_NAME: lo schema che identifica le tabelle o le viste materializzate da aggiungere all'archivio a colonne, ad esempio public.
  • TABLE_NAME: la tabella o la vista materializzata contenente le colonne da aggiungere al columnstore.
  • COLUMN_1 e COLUMN_2: le colonne da aggiungere all'archivio di colonne.

Elimina colonne utilizzando i flag

Per eliminare colonne dal columnstore, imposta un nuovo valore per il flag google_columnar_engine.relations descritto in Aggiungi colonne utilizzando i flag, omettendo le colonne che vuoi eliminare.

Per eliminare tutte le colonne dall'archivio di colonne, annulla l'impostazione del flag google_columnar_engine.relations dall'istanza.

Per ulteriori informazioni sull'impostazione dei flag di database su un'istanza, consulta Configura i parametri del database AlloyDB Omni.

Gestisci i contenuti dell'archivio di colonne utilizzando le funzioni SQL

Puoi gestire manualmente i contenuti dell'archivio di colonne utilizzando le funzioni SQL.

Aggiungi colonne utilizzando le funzioni SQL

Esegui la funzione SQL google_columnar_engine_add per aggiungere colonne all'archivio di colonne.

Questo metodo aggiunge le colonne specificate all'archivio di colonne e gestisce le colonne solo nel nodo connesso. Le nuove colonne non vengono mantenute nell'archivio tra i riavvii dell'istanza.

Questo metodo non modifica il flag di database google_columnar_engine.relations. La colonnarizzazione automatica non prende in considerazione 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 vista si trova in uno schema diverso da public, specifica il nome dello schema, un punto e il nome della tabella o della vista, ad esempio 'myschema.mytable'.
  • "COLUMN_LIST": una stringa contenente un elenco separato da virgole e sensibile alle maiuscole dei nomi delle colonne che vuoi aggiungere. Se vuoi aggiungere tutte le colonne della tabella o della vista materializzata allo store di colonne, ometti questo parametro.

Elimina colonne utilizzando le funzioni SQL

Esegui la funzione SQL google_columnar_engine_drop come segue:

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 vista si trova in uno schema diverso da public, specifica il nome dello schema, un punto e il nome della tabella o della vista, ad esempio 'myschema.mytable'.
  • "COLUMN_LIST": una stringa contenente un elenco separato da virgole e sensibile alle maiuscole dei nomi delle colonne che vuoi aggiungere. Se vuoi aggiungere tutte le colonne della tabella o della vista materializzata allo store di colonne, ometti questo parametro.

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