O mecanismo colunar do AlloyDB Omni acelera o processamento de consulta SQL de verificações, mesclagens e agregações, fornecendo os seguintes componentes:
Um repositório de colunas que contém dados de tabelas e visualizações materializadas para colunas selecionadas, reorganizados em um formato orientado a colunas.
Um planejador de consultas e um mecanismo de execução em colunas que oferecem suporte ao uso do repositório de colunas em consultas.
É possível usar o mecanismo colunar na instância principal, em uma instância de pool de leitura ou em ambas. Também é possível usar a colunarização automática para analisar sua carga de trabalho e preencher automaticamente o repositório de colunas com as colunas que oferecem o melhor ganho de performance.
Para usar o mecanismo colunar com uma consulta específica, todas as colunas referenciadas na consulta, como mesclagens e verificações, precisam estar no repositório de colunas.
Por padrão, o mecanismo colunar é definido para usar 1 GB da memória da instância. Dependendo da sua carga de trabalho, do uso da memória e se você tiver um pool de leitura configurado, é possível reduzir a alocação de memória do mecanismo colunar na instância principal e alocar mais memória para a instância do pool de leitura.
Para visualizar e monitorar o uso da memória pelo mecanismo colunar, consulte Visualizar o uso da memória do repositório de colunas. Para modificar o tamanho da memória usada pelo repositório de colunas, consulte Configurar o tamanho do repositório de colunas. 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.
Tipos de consulta que se beneficiam do mecanismo colunar
Algumas consultas podem se beneficiar do mecanismo colunar. A seguir, apresentamos uma lista de operações e padrões de consulta que se beneficiam mais do mecanismo colunar:
| Operação | Padrões de consulta |
|---|---|
| Verificação de tabela | Filtros seletivos, como cláusulas WHERE.Um pequeno número de colunas de uma tabela maior ou visualização materializada. Expressões como LIKE, SUBSTR ou TRIM. |
| Funções de agregação | Apenas expressões como SUM, MIN, MAX, AVG e COUNT.No início da consulta de uma verificação colunar. Não agrupadas ou agrupadas por colunas. |
ORDER-BY |
Somente se o operador estiver no início da consulta de uma verificação colunar. |
SORT |
Somente se o operador estiver no início da consulta de uma verificação colunar e classificar apenas as colunas de base da tabela ou da visualização materializada. |
LIMIT |
Somente se o operador estiver no início da consulta
de uma verificação colunar e estiver antes de qualquer SORT ou GROUP BY operadores. |
INNER HASH JOIN |
Somente se as chaves usadas forem colunas e nenhum qualificador de mesclagem for usado. |
| Mesclagens seletivas | Somente se as mesclagens estiverem no início da consulta de uma verificação colunar. |
Para mais informações sobre quais consultas funcionam melhor com o mecanismo colunar, se
o mecanismo colunar foi usado por uma consulta e como ele foi usado, consulte
Verificar o uso do mecanismo colunar usando EXPLAIN.
Como usar o mecanismo colunar em uma instância do AlloyDB Omni
Para usar o mecanismo colunar em uma instância do AlloyDB Omni, siga estas etapas gerais:
Ative o mecanismo na instância.
A ativação do mecanismo é uma operação única e exige a reinicialização do banco de dados.
Adicione colunas ao repositório de colunas.
Para adicionar colunas ao repositório de colunas, use um dos seguintes métodos:
Use a colunarização automática, que analisa sua carga de trabalho e adiciona colunas automaticamente.
Adicione as colunas manualmente com base no seu conhecimento da carga de trabalho nos bancos de dados da instância.
É possível acompanhar o que está no repositório de colunas usando a
g_columnar_relationsvisualização e, depois que as colunas forem adicionadas, use aEXPLAINinstrução para verificar o uso do mecanismo colunar em consultas SQL.
Para instruções detalhadas sobre como usar o mecanismo colunar, consulte Configurar o mecanismo colunar.
Quais dados podem ser adicionados ao repositório de colunas
Há algumas limitações nos tipos de dados e nas fontes de dados que podem ser usados ao adicionar colunas ao repositório de colunas.
Tipos de dados compatíveis
O mecanismo colunar oferece suporte apenas a colunas com os seguintes tipos de dados integrados:
arraybigintbooleanbyteachardatedecimaldouble precisionenumfloat4float8integerjsonjsonbnumericrealserialshortsmallinttexttimestampuuidvarchar
O mecanismo colunar ignora qualquer tentativa de adicionar manualmente colunas com tipos de dados não compatíveis ao repositório de colunas.
Fontes de dados não compatíveis
O mecanismo colunar não oferece suporte a tabelas ou visualizações materializadas com os seguintes atributos como fontes de dados:
Tabelas particionadas não folha
Tabelas estrangeiras
Tabelas ou visualizações com menos de 5.000 linhas
Limitações do mecanismo colunar
- Se você estiver executando uma consulta analítica em uma coluna que tem um índice, o otimizador do AlloyDB Omni poderá escolher usar o repositório de linhas.
- As colunas adicionadas manualmente ao repositório de colunas não são removidas automaticamente. Para forçar a remoção de
colunas adicionadas manualmente, use
google_columnar_engine_dropna instância. - A colunarização automática pode adicionar e remover colunas dinamicamente com base no uso da consulta.
- Nem todos os tipos de dados são compatíveis com o mecanismo colunar. Para conferir os tipos de dados compatíveis, consulte Tipos de dados compatíveis.
Atualizações frequentes de linhas invalidam dados colunares. Para validar uma tabela ou uma visualização materializada no repositório colunar, é possível reduzir a frequência de atualização ou programar atualizações do mecanismo colunar com mais frequência.
É possível comparar as colunas
invalid_block_countetotal_block_countemg_columnar_relationspara verificar se a tabela ou visualização foi afetada. Se você tiver mudanças frequentes ou de alto volume na tabela ou visualização, oinvalid_block_countserá alto.