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.

A seconda del carico di lavoro, puoi aggiungere manualmente colonne all'archivio di colonne o eliminare alcune o tutte le colonne di una tabella o di una vista materializzata dall'archivio di 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 all'archivio di colonne, tieni presente sia le dimensioni dell'archivio di colonne sia la forma del carico di lavoro. I candidati ideali per la selezione sono le tabelle o le viste di grandi dimensioni che vengono sottoposte a scansione di frequente. All'interno di queste tabelle o viste, identifica gli indici non univoci di grandi dimensioni utilizzati dal carico di lavoro OLAP. Puoi aggiungere le colonne di questi indici all'archivio di colonne ed eventualmente eliminare gli indici, eliminando così il costo in termini di prestazioni associato alla loro manutenzione sull'istanza principale.

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

Per informazioni sui tipi di dati e sulle origini dati che puoi utilizzare quando aggiungi tabelle, colonne e viste materializzate all'archivio di colonne, consulta la sezione Quali dati puoi aggiungere all'archivio di colonne.

Gestire i contenuti dell'archivio di colonne 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 singolo valore che specifica tutte le origini dati dell'archivio di colonne. Durante il riavvio, le colonne specificate in questo flag vengono inserite automaticamente nell'archivio di colonne.

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

Aggiungere 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 di colonne, ad esempio public.

  • TABLE_NAME: la tabella o la vista materializzata contenente le colonne da aggiungere all'archivio di colonne.

  • 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
ALTER SYSTEM SET google_columnar_engine.relations='DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_1,COLUMN_2)';

Eliminare colonne utilizzando i flag

Per eliminare le colonne dall'archivio di colonne, imposta un nuovo valore per il google_columnar_engine.relations flag descritto in Aggiungere 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 Configurare i parametri di database di AlloyDB Omni.

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

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

Aggiungere 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 dopo il riavvio dell'istanza.

Questo metodo non modifica il google_columnar_engine.relations flag di database. La columnarizzazione automatica 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 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/minuscole dei nomi delle colonne che vuoi aggiungere. Se vuoi aggiungere tutte le colonne della tabella o della vista materializzata all'archivio di colonne, ometti questo parametro.

Eliminare 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/minuscole dei nomi delle colonne che vuoi aggiungere. Se vuoi aggiungere tutte le colonne della tabella o della vista materializzata all'archivio 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 di nuovo all'archivio colonnare al riavvio dell'istanza.