Otimize o motor de colunas para o AlloyDB para PostgreSQL

Este documento descreve como otimizar o motor de colunas para uma instância do AlloyDB. Este documento pressupõe que tem conhecimentos do PostgreSQL.

Ajuste os recursos de CPU para tarefas de manutenção

O exemplo seguinte mostra como configurar o motor de colunas para usar 50% dos núcleos da CPU:

google_job_scheduler.maintenance_cpu_percentage = 50

O motor de colunas usa até 20% dos núcleos da CPU para tarefas de manutenção em segundo plano, como preenchimento, atualização e recomendação. Para ajustar os recursos da CPU de forma a permitir tarefas de manutenção, defina a flag google_job_scheduler.maintenance_cpu_percentage para um valor entre 20 e 100. O valor predefinido é 20. A utilização mais baixa da CPU para tarefas de manutenção em segundo plano é de 1 vCPU.

Adicione trabalhadores para acelerar a manutenção das colunas

O exemplo seguinte mostra como definir quatro processos de trabalho:

google_job_scheduler.max_parallel_workers_per_job = 4

O motor de colunas usa até dois processos de trabalho para tarefas de preenchimento e atualização em segundo plano. Para aumentar a velocidade destas operações, defina a seguinte flag para aumentar o número de processos de trabalho para tarefas em segundo plano. A predefinição é de 2 processos de trabalho. Estes processos são executados em recursos de CPU limitados, conforme especificado na flag google_job_scheduler.maintenance_cpu_percentage. Esta flag não requer o reinício da base de dados.

Altere o horário de organização em colunas automática

O exemplo seguinte mostra como definir a programação de auto-colunização para seis horas:

google_columnar_engine.auto_columnarization_schedule = 'EVERY 6 HOURS'

O horário de organização em colunas automática pode ser definido na flag google_columnar_engine.auto_columnarization_schedule com base nas cargas de trabalho com muitas análises previstas. Especifique uma ou mais horas para esta flag. A alteração do valor desta flag não requer o reinício da base de dados.

Preencha manualmente o motor de colunas

O exemplo seguinte mostra como preencher manualmente o motor de colunas:

google_columnar_engine.enable_auto_columnarization = OFF

Se preferir preencher manualmente apenas o motor de colunas, defina a flag google_columnar_engine.enable_auto_columnarization como OFF. O valor predefinido desta flag é ON. A alteração do valor desta flag não requer o reinício da base de dados. Consulte o artigo Faça a gestão do conteúdo manualmente para mais detalhes.

Ajustar o tamanho do heap da população do motor de colunas

O exemplo seguinte mostra como configurar a flag google_columnar_engine.population_heap_size_in_mb:

population_heap_size_in_mb = 250

Para converter dados no formato de colunas, o motor de colunas atribui a quantidade de memória em megabytes especificada pela flag google_columnar_engine.population_heap_size_in_mb. Assim que a conversão estiver concluída, esta memória é imediatamente desalocada, normalmente, em segundos.

Os valores permitidos para a definição population_heap_size_in_mb variam entre um mínimo de 200 MB e um máximo de 1000 MB.

O valor predefinido de 250 MB para a flag population_heap_size_in_mb funciona bem para a maioria da utilização típica da base de dados. No entanto, pode deparar-se com situações em que precisa de aumentar este valor.