Mantenha a atualidade dos dados do armazenamento de colunas na memória

Selecione uma versão da documentação:

Esta página descreve como manter a atualidade dos dados no arquivo de colunas do motor de colunas no AlloyDB Omni num contentor.

À medida que as linhas da tabela são adicionadas, eliminadas ou atualizadas, o motor colunar não atualiza imediatamente os dados no armazenamento de colunas. Em vez disso, marca o conteúdo afetado no armazenamento de colunas como inválido, e as consultas são planeadas e executadas usando dados orientados por colunas do armazenamento de colunas e dados orientados por linhas da cache de linhas e do armazenamento de base de dados.

Ao longo do tempo, à medida que mais e mais blocos de dados se tornam inválidos, as melhorias no desempenho das consultas fornecidas pelo motor de colunas são reduzidas até ao ponto em que os dados de colunas têm de ser atualizados para recuperar as melhorias no desempenho das consultas. Quando este limite de atualização é atingido, o motor de colunas usa uma tarefa de segundo plano para atualizar os dados inválidos no arquivo de colunas. Por predefinição, o motor colunar usa um limite de atualização de 50, o que indica que o conteúdo fornecido no armazenamento de colunas é marcado para atualização quando 50% do respetivo conteúdo se torna inválido. Pode alterar este limite de atualização para ajustar a sobrecarga da atualização automática e, potencialmente, obter um melhor desempenho das consultas contínuas para a carga de trabalho da sua aplicação.

Além disso, pode atualizar manualmente os dados de uma tabela no armazenamento de colunas em qualquer altura. Normalmente, faz uma atualização manual quando quer que as alterações a uma tabela se reflitam no armazenamento de colunas o mais rapidamente possível após fazer as alterações.

Altere o limite de atualização do motor de colunas

Edite o valor da flag da base de dados google_columnar_engine.refresh_threshold_percentage para alterar o limite de atualização do motor de colunas.

    ALTER SYSTEM SET google_columnar_engine.refresh_threshold_percentage=THRESHOLD;

THRESHOLD: um valor de número inteiro entre 1 e 100. Este valor especifica a percentagem de blocos de dados no conteúdo que têm de ficar inválidos para que o conteúdo seja marcado para atualização.

Atualize manualmente os dados de uma tabela no arquivo de colunas

Execute a função SQL google_columnar_engine_refresh para atualizar manualmente os dados de uma tabela no armazenamento de colunas na memória.

SELECT google_columnar_engine_refresh(TABLE_NAME);

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 usando o formato SCHEMA_NAME.TABLE_NAME, por exemplo, myschema.mytable.