Configurar o mecanismo colunar

Esta página descreve como ativar ou desativar o mecanismo de colunas em uma instância do AlloyDB para PostgreSQL. Também aborda como configurar um tamanho inicial adequado para o armazenamento de colunas, bem como as configurações de cache de memória e armazenamento para desempenho ideal.

Para usar o mecanismo de colunas no AlloyDB Omni, consulte Ativar o mecanismo de colunas no AlloyDB Omni.

Cada uma dessas ações envolve a alteração do valor de uma flag do banco de dados em uma das suas instâncias do AlloyDB. Para mais informações sobre como definir flags do banco de dados, consulte Configurar flags do banco de dados de uma instância.

Para uma visão geral conceitual do mecanismo de colunas do AlloyDB, consulte Sobre o mecanismo de colunas do AlloyDB.

Ativar o mecanismo colunar

Para usar o mecanismo de colunas em uma instância, defina a flag google_columnar_engine.enabled da instância como on.

Depois de definir essa flag, a instância é reiniciada automaticamente.

Para mais informações sobre como definir flags do banco de dados no AlloyDB, consulte Configurar flags do banco de dados de uma instância.

Configurar o tamanho do armazenamento de colunas

Enquanto o mecanismo de colunas está ativado em uma instância, o AlloyDB aloca uma parte da memória da instância para armazenar os dados de colunas. A alocação de RAM de alta velocidade para o armazenamento de colunas garante que o AlloyDB possa acessar os dados de colunas o mais rápido possível.

A memória e o cache de armazenamento juntos representam a capacidade geral do mecanismo colunar.

Configurar a memória para o mecanismo colunar

Se o armazenamento de colunas for maior do que a parte alocada da memória da instância, o AlloyDB vai usar automaticamente a camada de cache subjacente da instância para armazenar os dados de colunas adicionais.

Por padrão, o AlloyDB aloca 30% da memória da instância para o armazenamento de colunas e ajusta automaticamente a alocação total se você redimensionar a instância. É possível modificar a memória da instância em até 50%. Para encontrar o tamanho de memória do mecanismo colunar recomendado para sua instância, consulte Recomendar tamanho de memória do armazenamento de colunas.

Também é possível definir a alocação para um tamanho fixo e específico usando a flag google_columnar_engine.memory_size_in_mb. Para que o AlloyDB volte à alocação padrão, remova a flag da instância.

Para mais informações sobre como definir ou excluir flags, consulte Configurar flags do banco de dados de uma instância.

Configurar o cache de armazenamento para o mecanismo colunar

O cache de armazenamento do mecanismo colunar é provisionado de acordo com o nível de instância.

Nível da instância Tamanho padrão do cache do mecanismo colunar
Instância principal Ler instância da réplica
2 vCPU 18,75 GB 37,5 GB
4 vCPUs 18,75 GB 37,5 GB
8 vCPUs 18,75 GB 37,5 GB
16 vCPUs 37,5 GB 37,5 GB
32 vCPUs 75 GB 75 GB
64 vCPUs 150 GB 150 GB
96 vCPUs 300 GB 300 GB
128 vCPUs 450 GB 450 GB

A flag google_columnar_engine.storage_cache_size permite ajustar o cache de armazenamento do mecanismo de colunas, com as limitações dos valores mínimo e máximo listados na tabela a seguir:

Nível da instância Tamanho mínimo do cache do mecanismo de colunas Tamanho máximo do cache do mecanismo colunar
Instância principal Ler instância da réplica
2 vCPU 0 187,5 GB 375 GB
4 vCPUs 0 187,5 GB 375 GB
8 vCPUs 0 187,5 GB 375 GB
16 vCPUs 0 375 GB 375 GB
32 vCPUs 0 750 GB 750 GB
64 vCPUs 0 1.500 GB 1.500 GB
96 vCPUs 0 3000 GB 3000 GB
128 vCPUs 0 4.500 GB 4.500 GB

Monitorar dados de cache de armazenamento para o mecanismo colunar

Para conferir informações sobre o cache de armazenamento do mecanismo de colunas, execute uma das consultas SQL a seguir.

Consulta SQL Descrição
SELECT google_columnar_engine_storage_cache_used(); Retorna o tamanho do cache de armazenamento do mecanismo colunar usado.
SELECT google_columnar_engine_storage_cache_available(); Retorna o tamanho do cache de armazenamento do mecanismo colunar não usado.
SELECT google_columnar_engine_storage_cache_total(); Retorna a quantidade total do tamanho configurado do armazenamento em cache para o mecanismo colunar.

Ativar a união vetorial

O mecanismo colunar tem um recurso de junção vetorial que pode melhorar o desempenho das junções aplicando o processamento vetorial a consultas qualificadas.

Depois de ativar a mesclagem vetorizada, o planejador de consulta do AlloyDB tem a opção de aplicar o operador de mesclagem vetorizada em vez do operador de hash de mesclagem padrão do PostgreSQL. O planejador toma essa decisão comparando o custo de execução da consulta usando um dos métodos.

Para ativar a união vetorial em uma instância, defina a flag google_columnar_engine.enable_vectorized_join da instância como on.

Para mais informações sobre como definir flags do banco de dados, consulte Configurar flags do banco de dados de uma instância.

O AlloyDB aloca uma linha de execução para o recurso de mesclagem vetorizado por padrão. É possível aumentar o número de linhas de execução disponíveis para esse recurso definindo a flag google_columnar_engine.vectorized_join_threads para um valor maior.

Atualizar manualmente o mecanismo colunar

Por padrão, o mecanismo de colunas é configurado para atualizar automaticamente o armazenamento de colunas em segundo plano quando ativado. Talvez seja necessário atualizar manualmente a loja de colunas em determinadas situações, por exemplo, se a atualização automática não atualizar uma relação com um grande número de blocos inválidos.

Para atualizar manualmente o mecanismo de colunas, execute a seguinte consulta SQL:

SELECT google_columnar_engine_refresh('TABLE_NAME');

Substitua TABLE_NAME pelo nome da tabela ou da visualização materializada que você quer atualizar manualmente.

Desativar o mecanismo colunar

Para desativar o motor de coluna em uma instância, defina a flag google_columnar_engine.enabled como off.

Para mais informações sobre como definir flags do banco de dados no AlloyDB, consulte Configurar flags do banco de dados de uma instância.

Depois de definir essa flag, a instância é reiniciada automaticamente.

Resolver problemas no mecanismo colunar

Se as colunas não forem preenchidas no mecanismo de colunas, uma das seguintes situações pode ser verdadeira:

  • As colunas que você quer adicionar incluem um tipo de dados não compatível.

  • Os requisitos do mecanismo colunar não estão sendo atendidos.

Para encontrar a causa desse problema, tente o seguinte:

  • Analise os registros de auditoria da sua instância.

  • Confirme que as tabelas ou visualizações materializadas na consulta estão no mecanismo de colunas.

  • Verifique o uso do mecanismo de colunas usando a instrução EXPLAIN.

A seguir