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 il disco. I/O I dati a cui si accede più frequentemente vengono archiviati in un'area di memoria chiamata buffer cache. Quando una query viene eseguita frequentemente, i dati vengono recuperati direttamente dalla cache anziché dal disco. È più veloce e offre una migliore scalabilità e prestazioni delle applicazioni. È possibile configurare la dimensione della cache di PostgreSQL utilizzando il parametro shared_buffers. Per ulteriori informazioni, consulta la sezione Memoria
Dopo un failover, la gestione della cache del cluster (CCM) in Amazon PostgreSQL-Compatible Aurora Edition è progettata per migliorare le prestazioni di ripristino di applicazioni e database. In una tipica situazione di failover senza gestione della cache del cluster, è possibile che si verifichi un degrado delle prestazioni temporaneo ma importante. Questo 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 richiede più tempo rispetto alla lettura dalla cache.
Quando si implementa la gestione della cache del cluster, si sceglie un'istanza DB di lettura preferita e la gestione della cache del cluster sincronizza continuamente la sua memoria cache con quella dell'istanza DB principale, o di scrittura. In caso di failover, l'istanza DB di lettura preferita viene promossa alla nuova istanza DB 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 principale di scrittura. L'istanza DB di lettura preferita è la destinazione prioritaria del failover, che viene specificata assegnandole il livello di priorità 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 compresi nell'intervallo tra 0 e 15, dove 0 è la priorità massima e 15 è la priorità minima. Per ulteriori informazioni sul livello di promozione, consulta la sezione Tolleranza ai guasti per un cluster di database Aurora. La modifica del livello di promozione non causa un'interruzione.
La gestione della cache del cluster sincronizza la cache dall'istanza DB di scrittura all'istanza DB di lettura. L'istanza DB di lettura invia il set di indirizzi di buffer attualmente memorizzati nella cache all'istanza DB di scrittura 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 fa parte di un set. L'utilizzo di un filtro Bloom impedisce all'istanza DB di lettura di inviare ripetutamente gli stessi indirizzi di buffer all'istanza DB di scrittura. Quando l'istanza DB di scrittura riceve il filtro Bloom, confronta i blocchi nella sua cache buffer e invia i buffer utilizzati di frequente all'istanza DB di lettura. Per impostazione predefinita, un buffer viene considerato usato di frequente se ha un numero di utilizzi superiore a tre.
Il diagramma seguente mostra come la gestione della cache del cluster sincronizza la cache buffer dell'istanza DB di scrittura con l'istanza DB di lettura preferita.
Per ulteriori informazioni su CCM, vedere Ripristino rapido dopo il failover con gestione della cache del cluster per Aurora PostgreSQL (documentazione Aurora) e Introduzione
Limitazioni
La funzionalità di gestione della cache del cluster presenta le limitazioni seguenti:
-
L'istanza DB di lettura deve avere lo stesso tipo e dimensione della classe di istanza DB, ad esempio
r5.2xlargeodb.r5.xlarge. -
La gestione della cache cluster non è supportata per i cluster DB di Aurora PostgreSQL che fanno parte dei database globali Aurora.
Casi d'uso per la gestione della cache del cluster
In alcuni settori, come quello della vendita al dettaglio, bancario e finanziario, ritardi di pochi millisecondi possono causare problemi di prestazioni delle applicazioni e comportare una significativa perdita di profitti. Poiché gestione della cache del cluster aiuta a ripristinare le prestazioni delle applicazioni e del database sincronizzando continuamente la cache del buffer dell'istanza di database principale con l'istanza di backup preferita, può aiutare a prevenire le perdite di profitto associate ai failover.