Além dos buffers compartilhados na memória do PostgreSQL padrão, o cache em disco do AlloyDB Omni permite armazenar buffers em armazenamento rápido, como unidades de estado sólido (SSDs). O cache de disco acelera a recuperação de dados em instalações do AlloyDB Omni com diretórios de dados localizados em armazenamento mais lento.
Assim como os buffers compartilhados do PostgreSQL, o cache em disco do AlloyDB Omni não é permanente, o que significa que os dados armazenados em cache são perdidos na reinicialização.
Por padrão, o cache em disco do AlloyDB Omni usa todo o armazenamento informado pelo sistema de arquivos. É possível definir a quantidade de armazenamento reservado para dados de cache usando o parâmetro omni_disk_cache_file_size.
Ativar o cache em disco do AlloyDB Omni
Para ativar o cache em disco, consulte a seção a seguir:
Ativar o cache em disco em um volume local
Se você quiser usar um volume local, não será necessário criar um volume permanente. Em vez disso, use a otimização a seguir.
Para ativar o cache em disco em um volume local do banco de dados, faça o seguinte:
Modifique o manifesto do cluster de banco de dados para adicionar o atributo
ultraFastCacheà seçãofeaturesda seçãospec:DBCluster: metadata: name: CLUSTER_NAME spec: databaseVersion: "18.3.0" primarySpec: features: ultraFastCache: cacheSize: DISK_CACHE_SIZE localVolume: path: "LOCAL_VOLUME_PATH" ...
Substitua:
CLUSTER_NAME: o nome do cluster de banco de dados.DISK_CACHE_SIZE: o tamanho do cache, por exemplo,100Gi. Precisa ser um valor maior do queshared_buffers. Este campo é opcional. Se você não especificar o valor desse campo, o AlloyDB Omni vai usar todo o espaço restante no disco.LOCAL_VOLUME_PATH: o caminho para o volume local, por exemplo,/mnt/disks/raid/0.
Reaplique o manifesto.
Aplique as mudanças usando a interface do orquestrador de sua preferência:
Ansible
Se você estiver gerenciando a infraestrutura do orquestrador RPM do AlloyDB Omni diretamente usando o Ansible, ele vai acionar atualizações executando o playbook apropriado e transmitindo o
update_actionselecionado como uma variável extra.Arquivo de amostra para
update.yml:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: your_ssh_user ansible_ssh_private_key_file: ~/path/to/private-key roles: - role: google.alloydbomni_orchestrator.updateExecute o comando do Ansible:
ansible-playbook -i DEPLOYMENT_SPECIFICATION update.yml -e resource_spec="DBCLUSTER_SPECIFICATION"Substitua as seguintes variáveis:
DEPLOYMENT_SPECIFICATION: caminho para a especificação de implantação criada em Instalar componentes do AlloyDB Omni.DBCLUSTER_SPECIFICATION: caminho para a especificação do cluster.
alloydbctlalloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATIONSubstitua as seguintes variáveis:
DEPLOYMENT_SPECIFICATION: caminho para a especificação de implantação criada em Instalar componentes do AlloyDB Omni.DBCLUSTER_SPECIFICATION: caminho para a especificação do cluster.
Verificar a configuração do cache em disco
Depois de ativar o cache em disco do AlloyDB Omni, verifique se o cache em disco está sendo acessado monitorando a atividade de leitura e gravação nos discos usando utilitários disponíveis, como iotop ou iostat.
Além disso, é possível verificar se o cache em disco do AlloyDB Omni está aberto.
Para verificar a configuração do cache em disco do AlloyDB Omni, use o comando a seguir.
cat LOG_FILE_PATH | grep "opened omni disk cache"Substitua LOG_FILE_PATH pelo caminho para onde os registros do AlloyDB Omni estão sendo redirecionados.
Se o cache de disco estiver configurado corretamente, a mensagem Successfully opened omni disk cache ... será exibida nos registros.