Faça a gestão manual do conteúdo da loja de colunas

Selecione uma versão da documentação:

Esta página descreve como gerir o conteúdo do armazenamento de colunas do motor de base de dados colunar adicionando e removendo colunas manualmente.

Com base na sua carga de trabalho, pode adicionar manualmente colunas ao arquivo de colunas ou eliminar algumas ou todas as colunas de uma tabela ou uma vista materializada do arquivo de colunas. A avaliação de consultas usa automaticamente os dados organizados em colunas armazenados para responder a consultas.

Ao escolher as tabelas, as vistas materializadas e as colunas a adicionar ao arquivo de colunas, considere o tamanho do arquivo de colunas e a forma da carga de trabalho. Os bons candidatos para seleção incluem tabelas grandes ou vistas que são frequentemente analisadas. Dentro destas tabelas ou vistas, identifique quaisquer índices não únicos grandes usados pela carga de trabalho OLAP. Pode adicionar as colunas destes índices ao arquivo de colunas e, potencialmente, eliminar os índices, eliminando assim o custo de desempenho associado à respetiva manutenção na instância principal.

Use um dos seguintes métodos para gerir o conteúdo do armazenamento de colunas do motor de colunas:

Consulte o artigo Que dados pode adicionar ao arquivo de colunas para obter informações sobre os tipos de dados e as origens de dados que pode usar quando adiciona tabelas, colunas e vistas materializadas ao arquivo de colunas.

Faça a gestão do conteúdo da loja de colunas atualizando as flags da base de dados

Pode gerir manualmente o conteúdo do armazenamento de colunas atualizando a flag da base de dados google_columnar_engine.relations. O indicador tem um único valor que especifica todas as origens de dados do seu armazenamento de colunas. Durante o reinício, as colunas especificadas nesta flag são preenchidas automaticamente na loja de colunas.

Pode usar esta flag juntamente com a auto-columnarization. Se o motor colunar tiver memória disponível após o preenchimento das colunas que especifica através da flag google_columnar_engine.relations, a colunarização automática adiciona mais colunas ao armazenamento de colunas, conforme necessário.

Adicione colunas com sinalizadores

Para adicionar colunas ao arquivo de colunas, defina a flag google_columnar_engine.relations de uma instância. Defina o valor como uma lista de itens separados por vírgulas, em que cada item especifica uma lista de colunas a incluir de uma tabela específica, neste formato:

DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_LIST)

Substitua o seguinte:

  • DATABASE_NAME: a base de dados que contém as colunas a adicionar ao arquivo de colunas.

  • SCHEMA_NAME: o esquema que identifica as tabelas ou as vistas materializadas a adicionar ao armazenamento de colunas, por exemplo, public.

  • TABLE_NAME: a tabela ou a vista materializada que contém as colunas a adicionar ao arquivo de colunas.

  • COLUMN_LIST: uma lista separada por vírgulas das colunas a adicionar ao arquivo de colunas.

Para adicionar todas as colunas de uma tabela ou de uma vista materializada, omita a lista de colunas:

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

Elimine colunas com a utilização de flags

Para remover colunas do arquivo de colunas, defina um novo valor para a flag google_columnar_engine.relations descrita em Adicione colunas com flags, excluindo as colunas que quer remover.

Para eliminar todas as colunas do arquivo de colunas, desmarque a flag google_columnar_engine.relations na sua instância.

Para mais informações sobre como definir flags de base de dados numa instância, consulte o artigo Configure parâmetros da base de dados do AlloyDB Omni.

Faça a gestão do conteúdo da loja de colunas através de funções SQL

Pode gerir manualmente o conteúdo do armazenamento de colunas através de funções SQL.

Adicione colunas com funções SQL

Execute a função SQL google_columnar_engine_add para adicionar colunas à base de dados de colunas.

Este método adiciona as colunas especificadas ao arquivo de colunas e gere as colunas apenas no nó associado. As novas colunas não persistem na loja nos reinícios da instância.

Este método não altera a flag da base de dados.google_columnar_engine.relations A colunarização automática não considera as colunas adicionadas por esta função SQL.

Cliente psql

SELECT google_columnar_engine_add(
    relation => 'TABLE_NAME',
    columns => 'COLUMN_LIST'
);
    Substitua o seguinte:
  • "TABLE_NAME": uma string que contém o nome da tabela ou da vista materializada. Se a tabela ou a vista estiver num esquema diferente de public, especifique o nome do esquema, um ponto e o nome da tabela ou da vista; por exemplo, 'myschema.mytable'.
  • 'COLUMN_LIST': uma string que contém uma lista separada por vírgulas, com distinção entre maiúsculas e minúsculas, dos nomes das colunas que quer adicionar. Se quiser adicionar todas as colunas da tabela ou da vista materializada ao arquivo de colunas, omita este parâmetro.

Elimine colunas com funções SQL

Execute a função SQL google_columnar_engine_drop da seguinte forma:

Cliente psql

SELECT google_columnar_engine_drop(
    relation => 'TABLE_NAME',
    columns => 'COLUMN_LIST'
);
Substitua o seguinte:
  • "TABLE_NAME": uma string que contém o nome da tabela ou da vista materializada. Se a tabela ou a vista estiver num esquema diferente de public, especifique o nome do esquema, um ponto e o nome da tabela ou da vista; por exemplo, 'myschema.mytable'.
  • 'COLUMN_LIST': uma string que contém uma lista separada por vírgulas, com distinção entre maiúsculas e minúsculas, dos nomes das colunas que quer adicionar. Se quiser adicionar todas as colunas da tabela ou da vista materializada ao arquivo de colunas, omita este parâmetro.

Pode usar a função google_columnar_engine_drop para remover colunas adicionadas editando a sinalização da base de dados google_columnar_engine.relations. No entanto, quando o faz, essas colunas são adicionadas novamente ao armazenamento em colunas quando a instância é reiniciada.