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, bem como as configurações de memória e cache de 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 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 usará automaticamente a camada de cache subjacente da instância para armazenar os dados colunares adicionais.No AlloyDB, é possível carregar relações, visualizações materializadas e índices ScaNN no mecanismo colunar para acelerar o desempenho da consulta.
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 para um máximo recomendado de 50%, embora 70% sejam permitidos. Para encontrar o tamanho de memória recomendado do mecanismo colunar para sua instância, consulte Recomendar o 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
google_columnar_engine.memory_size_in_mb flag.
Para que o AlloyDB retorne à 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 carregamento de índices ScaNN no mecanismo colunar
O mecanismo colunar acelera a pesquisa vetorial quando os índices ScaNN são preenchidos nele.
Para ativar o cache de índice colunar, defina a google_columnar_engine.enable_index_caching flag como on.
Para desativar esse recurso, defina a flag como off.
Configurar o cache de armazenamento para o mecanismo colunar
É necessário dimensionar o google_columnar_engine.storage_cache_size em relação à configuração google_columnar_engine.memory_size_in_mb, porque a memória do mecanismo colunar é usada para metadados na memória do cache de armazenamento. A proporção de dimensionamento recomendada é de aproximadamente 100 a 1.000 vezes o tamanho da memória. Por exemplo, com um google_columnar_engine.memory_size_in_mb de 1024 (1 GB), é necessário definir google_columnar_engine.storage_cache_size entre 100 GB e 1.000 GB.
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 vCPUs | 37,5 GB | 37,5 GB | 75 GB |
| 32 vCPUs | 75 GB | 75 GB | 112,5 GB |
| 48 vCPUs | N/A | N/A | 187,5 GB |
| 64 vCPUs | 150 GB | 150 GB | 262,5 GB |
| 72 vCPUs | N/A | N/A | 300 GB |
| 96 vCPUs | 300 GB | 300 GB | N/A |
| 128 vCPUs | 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 vCPUs | 0 | 375 GB | 375 GB | 750 GB |
| 32 vCPUs | 0 | 750 GB | 750 GB | 1.125 GB |
| 48 vCPUs | N/A | N/A | N/A | 1.125 GB |
| 64 vCPUs | 0 | 1.500 GB | 1.500 GB | 2.625 GB |
| 72 vCPUs | N/A | N/A | N/A | 3.000 GB |
| 96 vCPUs | 0 | 3.000 GB | 3.000 GB | N/A |
| 128 vCPUs | 0 | 4.500 GB | 4.500 GB | N/A |
Monitorar dados de cache de armazenamento para o mecanismo colunar
Para visualizar e monitorar dados sobre o cache de armazenamento do mecanismo colunar, use os seguintes comandos:
| Comando | 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. |
SHOW google_columnar_engine.storage_cache_size; |
Retorna a quantidade 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 de ativar 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 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 mesclagem vetorizada por padrão. Aumente o número de linhas de execução disponíveis para
esse recurso definindo a
google_columnar_engine.vectorized_join_threads
flag com um valor maior.
Atualizar manualmente o mecanismo colunar
Por padrão, quando você ativa o mecanismo colunar, ele é definido para atualizar automaticamente o repositório de colunas em segundo plano.
Para cargas de trabalho com uma alta taxa de modificações de dados, como operações frequentes de INSERT, UPDATE ou DELETE, é possível atualizar manualmente o armazenamento colunar após essas mudanças para manter o índice atualizado.
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 será reiniciada automaticamente.
Resolver problemas do mecanismo colunar
Se as colunas não forem preenchidas no mecanismo colunar, uma das seguintes situações poderá ser verdadeira:
As colunas que você quer adicionar incluem um tipo de dados não compatível.
Os requisitos do mecanismo colunar não são atendidos.
Para encontrar a causa desse problema, tente o seguinte:
Confirme se as tabelas ou visualizações materializadas na consulta estão no mecanismo colunar.
Verifique o uso do mecanismo colunar usando a
EXPLAINinstrução.
A seguir
Consulte a lista completa de flags de banco de dados do mecanismo colunar flags.
Saiba mais sobre a colunarização automática.
Aprenda a acelerar consultas analíticas usando o mecanismo colunar do AlloyDB.