Oltre ai buffer condivisi in memoria di PostgreSQL standard, la cache del disco di AlloyDB Omni consente di archiviare i buffer su spazio di archiviazione veloce, come le unità a stato solido (SSD). La memorizzazione nella cache del disco accelera il recupero dei dati nelle installazioni di AlloyDB Omni con directory di dati situate su uno spazio di archiviazione più lento.
Come i buffer condivisi di PostgreSQL, la cache del disco di AlloyDB Omni non è persistente, il che significa che i dati memorizzati nella cache vengono persi al riavvio.
Per impostazione predefinita, la cache del disco di AlloyDB Omni utilizza tutto lo spazio di archiviazione segnalato dal file system. Puoi definire la quantità di spazio di archiviazione riservato alla memorizzazione nella cache dei dati utilizzando il parametro omni_disk_cache_file_size.
Abilitare la cache del disco di AlloyDB Omni
Per abilitare la cache del disco, consulta la sezione seguente:
Abilitare la cache del disco su un volume locale
Se vuoi utilizzare un volume locale, non devi creare un volume permanente. Puoi utilizzare la seguente ottimizzazione.
Per abilitare la cache del disco su un volume locale per il database:
Modifica il manifest del cluster di database per aggiungere l'attributo
ultraFastCachealla sezionefeaturesdella sezionespec:DBCluster: metadata: name: CLUSTER_NAME spec: databaseVersion: "18.3.0" primarySpec: features: ultraFastCache: cacheSize: DISK_CACHE_SIZE localVolume: path: "LOCAL_VOLUME_PATH" ...
Sostituisci quanto segue:
CLUSTER_NAME: il nome del cluster di database.DISK_CACHE_SIZE: la dimensione della cache, ad esempio100Gi. Deve essere maggiore dishared_buffers. Questo campo è facoltativo. Se non specifichi il valore di questo campo, AlloyDB Omni utilizza tutto lo spazio rimanente sul disco.LOCAL_VOLUME_PATH: il percorso del volume locale, ad esempio/mnt/disks/raid/0.
Riapplica il manifest.
Applica le modifiche utilizzando l'interfaccia dell'orchestratore che preferisci:
Ansible
Se gestisci direttamente l'infrastruttura dell'orchestratore RPM di AlloyDB Omni utilizzando Ansible, questo attiva gli aggiornamenti eseguendo il playbook appropriato e passando l'
update_actionselezionato come variabile extra.File di esempio per
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.updateEsegui il comando Ansible:
ansible-playbook -i DEPLOYMENT_SPECIFICATION update.yml -e resource_spec="DBCLUSTER_SPECIFICATION"Sostituisci le seguenti variabili:
DEPLOYMENT_SPECIFICATION: percorso della specifica di deployment creata in Installare i componenti di AlloyDB Omni.DBCLUSTER_SPECIFICATION: percorso della specifica del cluster.
alloydbctlalloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATIONSostituisci le seguenti variabili:
DEPLOYMENT_SPECIFICATION: percorso della specifica di deployment creata in Installare i componenti di AlloyDB Omni.DBCLUSTER_SPECIFICATION: percorso della specifica del cluster.
Verificare la configurazione della cache del disco
Dopo aver abilitato la cache del disco di AlloyDB Omni, verifica che la cache del disco sia accessibile monitorando l'attività di lettura e scrittura sui dischi utilizzando le utilità disponibili come iotop o iostat.
Inoltre, puoi verificare se la cache del disco di AlloyDB Omni è aperta.
Per verificare la configurazione della cache del disco per AlloyDB Omni, utilizza il comando seguente.
cat LOG_FILE_PATH | grep "opened omni disk cache"Sostituisci LOG_FILE_PATH con il percorso in cui vengono reindirizzati i log di AlloyDB Omni.
Se la memorizzazione nella cache del disco è configurata correttamente, nei log viene visualizzato il messaggio Successfully opened omni disk cache ....