Para uma visão geral conceitual do mecanismo colunar do AlloyDB, consulte Visão geral do mecanismo colunar do AlloyDB Omni.
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
.
Kubernetes
Para definir a flag google_columnar_engine.enabled
como on
, modifique o manifesto do cluster de banco de dados para adicionar o atributo parameters
à seção primarySpec
:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: CLUSTER_NAME
spec:
databaseVersion: "16.8.0"
primarySpec:
parameters:
google_columnar_engine.enabled: "on"
Substitua CLUSTER_NAME
pelo nome do cluster de banco de dados. É o mesmo nome de cluster de banco de dados que você declarou ao criá-lo.
Configurar o tamanho do repositório de colunas
Enquanto o mecanismo colunar está ativado em uma instância, o AlloyDB Omni aloca uma parte da memória da instância para armazenar os dados colunares. Dedicar RAM de alta velocidade ao repositório de colunas verifica se o AlloyDB Omni pode 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
É possível definir a alocação para um tamanho fixo usando a flag
google_columnar_engine.memory_size_in_mb
.
Kubernetes
Para definir a flag google_columnar_engine.memory_size_in_mb
, modifique o manifesto do cluster de banco de dados para adicionar o atributo parameters
à seção primarySpec
:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: CLUSTER_NAME
spec:
databaseVersion: "16.8.0"
primarySpec:
parameters:
google_columnar_engine.memory_size_in_mb: "COLUMN_MEMORY_SIZE"
Substitua o seguinte:
CLUSTER_NAME
: o nome do cluster de banco de dados. É o mesmo nome de cluster de banco de dados que você declarou ao criá-lo.COLUMN_MEMORY_SIZE
: o novo tamanho do armazenamento de colunas, em megabytes. Por exemplo,256
.
Configurar o cache de armazenamento
Kubernetes
Para ativar o cache de armazenamento do seu banco de dados, modifique o manifesto do cluster de banco de dados para adicionar o atributo columnarSpillToDisk
à seção features
da seção primarySpec
:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: CLUSTER_NAME
spec:
databaseVersion: "16.8.0"
primarySpec:
features:
columnarSpillToDisk:
cacheSize: STORAGE_CACHE_SIZE
ultraFastCache:
cacheSize: ULTRAFAST_CACHE_SIZE
genericVolume:
storageClass: "STORAGE_CLASS_NAME"
...
Substitua o seguinte:
CLUSTER_NAME
: o nome do cluster de banco de dados. É o mesmo nome de cluster de banco de dados que você declarou ao criá-lo.STORAGE_CACHE_SIZE
: o tamanho do cache de armazenamento colunar, por exemplo,5Gi
. Se você não especificar um valor para esse campo, 5% do cache em disco serão alocados para o mecanismo colunar por padrão.ULTRAFAST_CACHE_SIZE
: o tamanho do cache, por exemplo,100Gi
. Precisa ser um valor maior do queshared_buffers
. Esse campo é opcional. Se você não especificar o valor desse campo, o AlloyDB Omni vai usar todo o espaço restante no disco, o que se aplica ao AlloyDB Omni em um contêiner e em um cluster do Kubernetes. Para mais informações sobre unidades de medida, consulte Unidades de recurso de memória.STORAGE_CLASS_NAME
: o nome da classe de armazenamento do volume de cache ultrarrápido. Por exemplo,local-storage
.
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 cada método.
Para ativar a mesclagem vetorizada em uma instância, defina a flag
google_columnar_engine.enable_vectorized_join
da instância como on
.
Para definir essa flag em uma instância, execute o comando ALTER SYSTEM
do PostgreSQL:
ALTER SYSTEM SET google_columnar_engine.enable_vectorized_join = 'on';
O AlloyDB Omni 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 flag
google_columnar_engine.vectorized_join_threads
com um valor maior. O valor máximo é cpu_count * 2
.
Atualizar manualmente o mecanismo colunar
Por padrão, quando o mecanismo colunar está ativado, ele atualiza o repositório de colunas em segundo plano.
Para atualizar manualmente o mecanismo colunar, execute a seguinte consulta SQL:
SELECT google_columnar_engine_refresh(relation =>'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
.
Kubernetes
Para definir a flag google_columnar_engine.enabled
como off
, modifique o manifesto do cluster de banco de dados para adicionar o atributo parameters
à seção primarySpec
:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: CLUSTER_NAME
spec:
databaseVersion: "16.8.0"
primarySpec:
parameters:
google_columnar_engine.enabled: "off"
Substitua CLUSTER_NAME
pelo nome do cluster de banco de dados. É o mesmo nome de cluster de banco de dados que você declarou ao criá-lo.
A seguir
Consulte a lista completa de flags de banco de dados do mecanismo colunar.
Siga o tutorial do Google CodeLab Como acelerar consultas analíticas com o mecanismo colunar no AlloyDB Omni.