Gestione della cache del cluster - AWSGuida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione della cache del cluster

La memorizzazione nella cache è una delle funzionalità più importanti di qualsiasi database (DB) perché aiuta a ridurre l'I/O del disco. I dati a cui si accede più frequentemente sono archiviati in un'area di memoria chiamata buffer cache. Quando una query viene eseguita frequentemente, recupera i dati direttamente dalla cache anziché dal disco. È più veloce e offre una migliore scalabilità e prestazioni delle applicazioni. Si configura la dimensione della cache di PostgreSQL utilizzando ilshared_buffers parametro. Per ulteriori informazioni, consulta la pagina relativa alla memoria (documentazione di PostgreSQL).

Dopo un failover, la gestione della cache del cluster (CCM) nell'edizione compatibile con Amazon Aurora PostgreSQL è progettata per migliorare le prestazioni di ripristino di applicazioni e database. In una tipica situazione di failover senza CCM, è possibile che si verifichi un degrado delle prestazioni temporaneo ma significativo. Ciò si verifica perché all'avvio dell'istanza database di failover, la cache del buffer è vuota. Una cache vuota è anche nota col nome di cache fredda. L'istanza DB deve leggere dal disco, che è più lenta della lettura dalla cache.

Quando implementate CCM, scegliete un'istanza DB del lettore preferita e CCM sincronizza continuamente la sua memoria cache con quella dell'istanza DB primaria o di scrittura. Se si verifica un failover, l'istanza database di scrittura preferita viene promossa al ruolo di nuova istanza database di scrittura. Poiché dispone già di una memoria cache, nota come cache calda, ciò riduce al minimo l'impatto del failover sulle prestazioni dell'applicazione.

Come funziona la gestione della cache del cluster?

Le istanze DB di failover si trovano in zone di disponibilità diverse rispetto all'istanza DB primaria di scrittura. L'istanza DB del lettore preferita è l'obiettivo di failover prioritario, che viene specificato assegnandogli il livello di priorità tier-0.

Nota

Il livello della priorità di promozione è un valore che specifica l'ordine in cui un'istanza di lettura di Aurora viene promossa al ruolo di istanza database di scrittura dopo un errore. I valori validi sono 0–15, dove 0 è la priorità massima e 15 è la priorità minima. Per ulteriori informazioni sul livello di promozione, consulta la pagina relativa alla tolleranza ai guasti per un cluster database Aurora. La modifica del livello di promozione non causa un'interruzione.

CCM sincronizza la cache dall'istanza database del scrittore all'istanza database del lettore preferito. L'istanza DB del lettore invia il set di indirizzi buffer attualmente memorizzati nella cache all'istanza DB di writer come filtro bloom. Un filtro bloom è una struttura di dati probabilistica ed efficiente in termini di memoria che viene utilizzata per verificare se un elemento è membro di un set. L'uso di un filtro bloom impedisce all'istanza DB del lettore di inviare ripetutamente gli stessi indirizzi buffer all'istanza DB di writer. Quando l'istanza DB writer riceve il filtro bloom, confronta i blocchi nella sua cache buffer e invia i buffer usati di frequente all'istanza DB del lettore. Per impostazione predefinita, un buffer è considerato usato frequentemente se ha un numero di utilizzi maggiore di tre.

Il diagramma seguente mostra come CCM sincronizza la cache del buffer dell'istanza DB di Writer con l'istanza DB preferita del lettore.

Gestione della cache del cluster configurata tra istanze DB Aurora in diverse zone di disponibilità.

Per ulteriori informazioni su CCM, vedere Ripristino rapido dopo il failover con gestione della cache del cluster per Aurora PostgreSQL (documentazione Aurora) e Introduzione alla gestione della cache del cluster Aurora PostgreSQL (postAWS sul blog). Per istruzioni su come configurare CCM, vedere Configurazione della gestione della cache del cluster (documentazione Aurora).

Restrizioni

La funzionalità CCM presenta i seguenti limiti:

  • L'istanza database del lettore deve avere lo stesso tipo di classe di istanza database del lettore e la stessa dimensione dell'istanza database di scrittura, ad esempior5.2xlarge odb.r5.xlarge.

  • CCM non è supportata per i cluster Aurora PostgreSQL database che fanno parte dei database globali Aurora.

Casi d'uso per la gestione della cache del cluster

In alcuni settori, come la vendita al dettaglio, il settore bancario e finanziario, i ritardi di pochi millisecondi possono causare problemi di prestazioni delle applicazioni e comportare una significativa perdita di attività. Poiché CCM aiuta a ripristinare le prestazioni delle applicazioni e del database sincronizzando continuamente la cache buffer dell'istanza del database principale con l'istanza di backup preferita, può aiutare a prevenire le perdite aziendali associate ai failover.