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.
Para definir o parâmetro google_columnar_engine.enabled como on, siga estas etapas:
Abra o manifesto do cluster de banco de dados
DBCluster.Na seção
primarySpec, adicione o parâmetrogoogle_columnar_engine.enabledao blocoparameters:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... parameters: google_columnar_engine.enabled: "on"Substitua
DB_CLUSTER_NAMEpelo nome do cluster de banco de dados.O orquestrador de RPM reinicia automaticamente o banco de dados para aplicar as mudanças de parâmetro. Aplique o manifesto
DBClusteratualizado usando um dos seguintes métodos:alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"Substitua:
DEPLOYMENT_SPEC_PATH: o caminho para o diretório de especificação da implantação.DBCLUSTER_SPECIFICATION: o caminho para o manifestoDBClusterque você modificou.
Ansible
Crie um arquivo de playbook
update.yml:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.updateSubstitua:
SSH_USER: o nome de usuário que você usa para se conectar aos nós no cluster usando SSH.SSH_KEY_PATH: o caminho local para o arquivo de chave privada SSH usado para se conectar aos nós.
Execute o playbook no nó de controle, transmitindo a especificação do recurso como uma variável extra:
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"Substitua:
DEPLOYMENT_SPEC_PATH: o caminho para o diretório de especificação da implantação.DBCLUSTER_SPECIFICATION: o caminho para o manifestoDBClusterque você modificou.
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.
Para definir o parâmetro google_columnar_engine.memory_size_in_mb, siga estas etapas:
Abra o manifesto do cluster de banco de dados
DBCluster.Na seção
primarySpec, adicione a configuração do mecanismo colunar ao blocoparameters:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... parameters: google_columnar_engine.enabled: "on" google_columnar_engine.memory_size_in_mb: "MEMORY_SIZE_MB"Substitua:
DB_CLUSTER_NAME: o nome do cluster de banco de dados.MEMORY_SIZE_MB: a quantidade de memória, em megabytes, a ser alocada para o mecanismo colunar.
O orquestrador de RPM reinicia automaticamente o banco de dados para aplicar as mudanças de parâmetro. Aplique o manifesto
DBClusteratualizado usando um dos seguintes métodos:alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"Substitua:
DEPLOYMENT_SPEC_PATH: o caminho para o diretório de especificação da implantação.DBCLUSTER_SPECIFICATION: o caminho para o manifestoDBClusterque você modificou.
Ansible
Crie um arquivo de playbook
update.yml:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.updateSubstitua:
SSH_USER: o nome de usuário que você usa para se conectar aos nós no cluster usando SSH.SSH_KEY_PATH: o caminho local para o arquivo de chave privada SSH usado para se conectar aos nós.
Execute o playbook no nó de controle, transmitindo a especificação do recurso como uma variável extra:
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"Substitua:
DEPLOYMENT_SPEC_PATH: o caminho para o diretório de especificação da implantação.DBCLUSTER_SPECIFICATION: o caminho para o manifestoDBClusterque você modificou.
Configurar o cache de armazenamento
É possível configurar o cache de armazenamento do mecanismo colunar em dispositivos dedicados ou compartilhados.
Dispositivos dedicados
Para configurar um dispositivo dedicado para o cache de armazenamento do mecanismo colunar, siga estas etapas:
Abra o manifesto do cluster de banco de dados
DBCluster.Na seção
primarySpec, adicione o atributocolumnarSpillToDiskcomcacheSizeelocalVolume.pathao blocofeatures:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... features: columnarSpillToDisk: cacheSize: STORAGE_CACHE_SIZE localVolume: path: COLUMNAR_CACHE_DIR_PATHSubstitua:
DB_CLUSTER_NAME: o nome do cluster de banco de dados.STORAGE_CACHE_SIZE: o limite de tamanho do cache de armazenamento do mecanismo colunar, por exemplo,50Gi.COLUMNAR_CACHE_DIR_PATH: o caminho do sistema de arquivos do diretório dedicado ao cache de armazenamento do mecanismo colunar, por exemplo,/mnt/disks/columnarcache.
Aplique o manifesto
DBClusteratualizado usandoalloydbctlou Ansible:alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"Substitua:
DEPLOYMENT_SPEC_PATH: o caminho para o diretório de especificação da implantação.DBCLUSTER_SPECIFICATION: o caminho para o manifestoDBClusterque você modificou.
Ansible
Crie um arquivo de playbook
update.yml:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.updateSubstitua:
SSH_USER: o nome de usuário que você usa para se conectar aos nós no cluster usando SSH.SSH_KEY_PATH: o caminho local para o arquivo de chave privada SSH usado para se conectar aos nós.
Execute o playbook no nó de controle, transmitindo a especificação do recurso como uma variável extra:
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"Substitua:
DEPLOYMENT_SPEC_PATH: o caminho para o diretório de especificação da implantação.DBCLUSTER_SPECIFICATION: o caminho para o manifestoDBClusterque você modificou.
Dispositivos compartilhados
Se você não especificar localVolume.path em columnarSpillToDisk, o
cache de armazenamento do mecanismo colunar vai compartilhar o armazenamento do cache em disco configurado em
ultraFastCache.
Para configurar o cache de armazenamento do mecanismo colunar em dispositivos compartilhados, siga estas etapas:
Abra o manifesto do cluster de banco de dados
DBCluster.Na seção
primarySpec, adicione os atributoscolumnarSpillToDiskeultraFastCacheao blocofeatures:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... features: columnarSpillToDisk: cacheSize: STORAGE_CACHE_SIZE ultraFastCache: cacheSize: ULTRAFAST_CACHE_SIZE localVolume: path: DISK_CACHE_DIR_PATHSubstitua:
DB_CLUSTER_NAME: o nome do cluster de banco de dados.STORAGE_CACHE_SIZE: o tamanho do cache de armazenamento colunar, por exemplo,50Gi. Se você não especificar um valor para esse campo, 5% do cache em disco será alocado para o mecanismo colunar por padrão.ULTRAFAST_CACHE_SIZE: o tamanho máximo do buffer de cache ultrarrápido reservado pelo AlloyDB Omni. Por exemplo,100Gi. Se não for definido, todo o espaço em disco restante emlocalVolume.pathserá usado.DISK_CACHE_DIR_PATH: o caminho da pasta para os arquivos de cache ultrarrápido. Por exemplo,/mnt/disks/chillcache.
Aplique o manifesto
DBClusteratualizado usandoalloydbctlou Ansible:alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"Substitua:
DEPLOYMENT_SPEC_PATH: o caminho para o diretório de especificação da implantação.DBCLUSTER_SPECIFICATION: o caminho para o manifestoDBClusterque você modificou.
Ansible
Crie um arquivo de playbook
update.yml:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.updateSubstitua:
SSH_USER: o nome de usuário que você usa para se conectar aos nós no cluster usando SSH.SSH_KEY_PATH: o caminho local para o arquivo de chave privada SSH usado para se conectar aos nós.
Execute o playbook no nó de controle, transmitindo a especificação do recurso como uma variável extra:
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"Substitua:
DEPLOYMENT_SPEC_PATH: o caminho para o diretório de especificação da implantação.DBCLUSTER_SPECIFICATION: o caminho para o manifestoDBClusterque você modificou.
Ativar junção vetorizada
O mecanismo colunar tem um recurso de junção vetorizada que pode melhorar o desempenho das junções aplicando o processamento vetorizado a consultas qualificadas.
Depois que você ativa a junção vetorizada, o planejador de consultas do AlloyDB tem a opção de aplicar o operador de junção vetorizada em vez do operador de junção 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 junção vetorizada em uma instância, defina a flag
google_columnar_engine.enable_vectorized_join
da instância como on.
google_columnar_engine.enable_vectorized_join: "on" à seção parameters do manifesto DBCluster. Para mais informações, consulte Configurar parâmetros de banco de dados do AlloyDB Omni.
O AlloyDB Omni 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. 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 colunar em uma instância, defina a flag google_columnar_engine.enabled
como off.
Para definir o parâmetro google_columnar_engine.enabled como off, siga estas etapas:
Abra o manifesto do cluster de banco de dados
DBCluster.Na seção
primarySpec, defina o parâmetrogoogle_columnar_engine.enabledcomooffno blocoparameters:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... parameters: google_columnar_engine.enabled: "off"Substitua
DB_CLUSTER_NAMEpelo nome do cluster de banco de dados.O orquestrador de RPM reinicia automaticamente o banco de dados para aplicar as mudanças de parâmetro. Aplique o manifesto
DBClusteratualizado usando um dos seguintes métodos:alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"Substitua:
DEPLOYMENT_SPEC_PATH: o caminho para o diretório de especificação da implantação.DBCLUSTER_SPECIFICATION: o caminho para o manifestoDBClusterque você modificou.
Ansible
Crie um arquivo de playbook
update.yml:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.updateSubstitua:
SSH_USER: o nome de usuário que você usa para se conectar aos nós no cluster usando SSH.SSH_KEY_PATH: o caminho local para o arquivo de chave privada SSH usado para se conectar aos nós.
Execute o playbook no nó de controle, transmitindo a especificação do recurso como uma variável extra:
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"Substitua:
DEPLOYMENT_SPEC_PATH: o caminho para o diretório de especificação da implantação.DBCLUSTER_SPECIFICATION: o caminho para o manifestoDBClusterque você modificou.
A seguir
Consulte a lista completa de flags de banco de dados do mecanismo colunar.
Faça o codelab Como acelerar consultas analíticas com o mecanismo colunar no AlloyDB Omni.