Nesta página, descrevemos como ativar ou desativar o mecanismo colunar em uma instância do AlloyDB para PostgreSQL. Também abordamos como configurar um tamanho inicial adequado para o repositório de colunas, além das configurações de cache de memória e armazenamento para um desempenho ideal.
Para usar o mecanismo colunar ao usar o AlloyDB Omni, consulte Ativar o mecanismo colunar no AlloyDB Omni.
Cada uma dessas ações envolve a mudança do valor de uma flag de banco de dados em uma das suas instâncias do AlloyDB. Para mais informações sobre como definir flags de banco de dados, consulte Configurar flags de banco de dados de uma instância.
Para uma visão geral conceitual do mecanismo colunar do AlloyDB, consulte Sobre o mecanismo colunar do AlloyDB.
Ativar o mecanismo colunar
Para usar o mecanismo colunar em uma instância, defina a flag
google_columnar_engine.enabled
da instância como on
.
Para mais informações sobre como definir flags de banco de dados no AlloyDB, consulte Configurar flags de banco de dados de uma instância.
Configurar o tamanho do repositório de colunas
Enquanto o mecanismo colunar está ativado em uma instância, o AlloyDB aloca uma parte da memória da instância para armazenar os dados colunares. Dedicar RAM de alta velocidade ao repositório de colunas garante que o AlloyDB possa acessar os dados colunares o mais rápido possível.
A memória e o cache de armazenamento representam juntos a capacidade geral do mecanismo colunar.
Configurar a memória para o mecanismo colunar
Se o repositório de colunas ficar 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 colunares adicionais.Por padrão, o AlloyDB aloca 30% da memória da instância para o repositório 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 recomendado do mecanismo colunar para sua instância, consulte Recomendar tamanho da memória do repositório 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 de 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 da instância.
Nível da instância | Tamanho padrão do cache do mecanismo colunar | ||
---|---|---|---|
N2 | C4A | ||
Principal | Pool de réplicas | Pool principal ou de réplicas | |
1 vCPU | N/A | N/A | 0 |
2 vCPU | 18,75 GB | 37,5 GB | N/A |
4 vCPUs | 18,75 GB | 37,5 GB | 18,75 GB |
8 vCPUs | 18,75 GB | 37,5 GB | 37,75 GB |
16 vCPU | 37,5 GB | 37,5 GB | 75 GB |
32 vCPU | 75 GB | 75 GB | 112,5 GB |
48 vCPU | N/A | N/A | 187,5 GB |
64 vCPU | 150 GB | 150 GB | 262,5 GB |
72 vCPU | N/A | N/A | 300 GB |
96 vCPU | 300 GB | 300 GB | N/A |
128 vCPU | 450 GB | 450 GB | N/A |
A flag google_columnar_engine.storage_cache_size
permite ajustar o cache de armazenamento do mecanismo colunar, com as limitações dos valores mínimos e máximos listados na tabela a seguir:
Nível da instância | Tamanho mínimo do cache do mecanismo colunar | Tamanho máximo do cache do mecanismo colunar | ||
---|---|---|---|---|
N2 | C4A | |||
Principal | Pool de réplicas | Pool principal ou de réplicas | ||
1 vCPU | N/A | N/A | N/A | 0 |
2 vCPU | 0 | 187,5 GB | 375 GB | N/A |
4 vCPUs | 0 | 187,5 GB | 375 GB | 187,5 GB |
8 vCPUs | 0 | 187,5 GB | 375 GB | 375 GB |
16 vCPU | 0 | 375 GB | 375 GB | 750 GB |
32 vCPU | 0 | 750 GB | 750 GB | 1.125 GB |
48 vCPU | N/A | N/A | N/A | 1.125 GB |
64 vCPU | 0 | 1.500 GB | 1.500 GB | 2.625 GB |
72 vCPU | N/A | N/A | N/A | 3000 GB |
96 vCPU | 0 | 3000 GB | 3000 GB | N/A |
128 vCPU | 0 | 4.500 GB | 4.500 GB | N/A |
Monitorar dados de cache de armazenamento para o mecanismo colunar
Para conferir informações sobre o cache de armazenamento do mecanismo colunar, execute uma das seguintes consultas SQL.
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 utilizado. |
SELECT google_columnar_engine_storage_cache_total(); |
Retorna o valor total do tamanho configurado do cache de armazenamento para o mecanismo colunar. |
Ativar a mesclagem vetorizada
O mecanismo colunar tem um recurso de mesclagem vetorizada que pode melhorar o desempenho das mesclagens aplicando o processamento vetorizado a consultas qualificadas.
Depois que você ativa a mesclagem vetorizada, o planejador de consultas do AlloyDB tem a opção de aplicar o operador de mesclagem vetorizada em vez do operador de mesclagem de hash padrão do PostgreSQL. O planejador toma essa decisão comparando o custo de execução da consulta usando qualquer um dos métodos.
Para ativar a mesclagem vetorizada em uma instância, defina a flag
google_columnar_engine.enable_vectorized_join
da instância como on
.
O AlloyDB aloca uma linha de execução para o recurso de junção
vetorizada por padrão. Aumente o número de linhas de execução disponíveis para esse recurso definindo a flag
google_columnar_engine.vectorized_join_threads
com um valor maior.
Atualizar manualmente o mecanismo colunar
Por padrão, quando ativado, o mecanismo colunar é configurado para atualizar automaticamente o repositório de colunas em segundo plano. Em algumas situações, como quando a atualização automática não atualiza uma relação com um grande número de blocos inválidos, talvez seja necessário atualizar manualmente o armazenamento colunar.
Para atualizar manualmente o mecanismo colunar, 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 mecanismo columbar em uma instância, defina a flag google_columnar_engine.enabled
como off
.
Depois de definir essa flag, a instância é reiniciada automaticamente.
Resolver problemas do mecanismo colunar
Se as colunas não forem preenchidas no mecanismo colunar, 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 se as tabelas ou visualizações materializadas na sua consulta estão no mecanismo colunar.
Verifique o uso do mecanismo de colunas usando a instrução
EXPLAIN
.
A seguir
Consulte a lista completa de flags de banco de dados do mecanismo colunar.
Saiba mais sobre a colunação automática.