Smart Flash Cache - AWS Guida 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à.

Smart Flash Cache

La funzione Exadata Smart Flash Cache memorizza nella cache gli oggetti del database nella memoria flash per aumentare la velocità di accesso agli oggetti del database. Smart Flash Cache può determinare quali tipi di segmenti di dati e operazioni devono essere memorizzati nella cache. Riconosce diversi tipi di richieste di I/O in modo che l'accesso non ripetibile ai dati (come l'I/O di backup RMAN) non elimini i blocchi di database dalla cache. È possibile spostare hot table e indici in Smart Flash Cache con i comandi. ALTER Quando si utilizza la funzione Write Back Flash Cache, Smart Flash può anche memorizzare nella cache le operazioni di scrittura dei blocchi del database.

Il software del server di archiviazione Exadata fornisce anche Smart Flash Logging per velocizzare le operazioni di scrittura dei redo log e ridurre i tempi di servizio per l'evento di sincronizzazione dei file di registro. Questa funzionalità esegue le operazioni di redo write contemporaneamente sia sulla memoria flash che sulla cache del controller del disco e completa l'operazione di scrittura al termine della prima delle due.

Le due statistiche seguenti forniscono informazioni rapide sulle prestazioni di Exadata Smart Flash Cache. Queste sono disponibili in visualizzazioni dinamiche delle prestazioni come V$SYSSTAT e nella sezione Global Activity Statistics o Instance Activity Statistics del rapporto AWR.

  • Cell Flash Cache read hits— Registra il numero di richieste di lettura che hanno trovato una corrispondenza nella Smart Flash Cache.

  • Physical read requests optimized— registra il numero di richieste di lettura che sono state ottimizzate da Smart Flash Cache o tramite indici di archiviazione.

Le metriche Exadata raccolte dalle celle di archiviazione sono utili anche per comprendere in che modo un carico di lavoro utilizza Smart Flash Cache. Il seguente comando CellCLI elenca diverse metriche disponibili per il monitoraggio dell'utilizzo di Smart Flash Cache.

CellCLI> LIST METRICDEFINITION ATTRIBUTES NAME,DESCRIPTION WHERE OBJECTTYPE = FLASHCACHE FC_BYKEEP_DIRTY "Number of megabytes unflushed for keep objects on FlashCache" FC_BYKEEP_OLTP "Number of megabytes for OLTP keep objects in flash cache" FC_BYKEEP_OVERWR "Number of megabytes pushed out of the FlashCache because of space limit for keep objects" FC_BYKEEP_OVERWR_SEC "Number of megabytes per second pushed out of the FlashCache because of space limit for keep objects" ...

Migrazione a AWS

Smart Flash Cache non esiste su. AWS Esistono poche opzioni per mitigare questa sfida ed evitare il degrado delle prestazioni durante la migrazione dei carichi di lavoro Exadata verso AWS, tra cui queste, discusse nelle sezioni seguenti:

  • Utilizzo di istanze di memoria estesa

  • Utilizzo di istanze con archivi di istanze basati su NVMe

  • Utilizzo di opzioni AWS di storage per una bassa latenza e un throughput elevato

Tuttavia, queste opzioni non sono in grado di riprodurre il comportamento di Smart Flash Cache, pertanto è necessario valutare le prestazioni del carico di lavoro per assicurarsi che continui a soddisfare gli SLA prestazionali.

Istanze di memoria estesa

Amazon EC2 offre molte istanze con memoria elevata, incluse istanze con 12 TiB e 24 TiB di memoria. Queste istanze supportano Oracle SGA di dimensioni estremamente grandi che possono ridurre l'impatto della Smart Flash Cache mancante aumentando il rapporto di successo del buffer.

Istanze con archivi di istanze basati su NVMe

Un instance store fornisce uno storage temporaneo a livello di blocco per l'istanza. L'archiviazione è collocata all'interno dei dischi fisicamente collegati al computer host. Gli instance store consentono ai carichi di lavoro di raggiungere una bassa latenza e un throughput più elevato archiviando i dati su dischi basati su NVMe. I dati in un instance store persistono solo per la durata di vita di un'istanza, quindi gli instance store sono ideali per tablespace e cache temporanee. Gli instance store possono supportare milioni di IOPS e un throughput superiore a 10 Gbps con una latenza di microsecondi, a seconda del tipo di istanze e delle dimensioni di I/O. Per ulteriori informazioni sugli IOPS di lettura/scrittura dell'instance store e sul supporto del throughput per diverse classi di istanze, consulta le istanze per uso generale, ottimizzate per il calcolo, ottimizzate per la memoria e ottimizzate per lo storage nella documentazione di Amazon EC2.

In Exadata, la Database Flash Cache consente agli utenti di definire un secondo livello di buffer cache sui volumi di archiviazione delle istanze con una latenza I/O media di 100 microsecondi per migliorare le prestazioni dei carichi di lavoro di lettura. È possibile attivare questa cache impostando due parametri di inizializzazione del database:

  • db_flash_cache_file = /<device_name>

  • db_flash_cache_size = <size>G

Puoi anche progettare architetture ad alte prestazioni per database Oracle ospitati su Amazon EC2 inserendo i file di database negli archivi di istanze e utilizzando la ridondanza fornita da Oracle Automatic Storage Management (ASM) e Data Guard per la protezione e il ripristino dei dati in caso di perdita dei dati negli istanze store. Questi modelli di architettura sono ideali per le applicazioni che richiedono un throughput di I/O estremo a bassa latenza e possono permettersi un RTO più elevato per ripristinare il sistema in determinati scenari di errore. Le sezioni seguenti illustrano brevemente due architetture che includono file di database ospitati su store di istanze basati su NVMe.

Architettura 1. Il database è ospitato negli archivi di istanze sia sulle istanze primarie che su quelle di standby con Data Guard per la protezione dei dati

In questa architettura, il database è ospitato su un gruppo di dischi Oracle ASM per distribuire l'I/O su più volumi di archiviazione di istanze per I/O ad alta velocità effettiva e bassa latenza. Data Guard è collocato in standby nella stessa zona di disponibilità o in un'altra per la protezione dalla perdita di dati negli archivi delle istanze. La configurazione del gruppo di dischi dipende dall'RPO e dalla latenza di commit. Se l'Instance Store viene perso per qualsiasi motivo sull'istanza principale, il database può passare allo standby con una perdita di dati minima o pari a zero. È possibile configurare il processo di osservazione di Data Guard per automatizzare il failover. Sia le operazioni di lettura che quelle di scrittura traggono vantaggio dall'elevato throughput e dalla bassa latenza offerte dagli instance store.

Database Exadata ospitato negli archivi di istanze sia sulle istanze primarie che su quelle di standby

Architettura 2. Il database è ospitato su un gruppo di dischi ASM con due gruppi di errore che combinano sia i volumi EBS che gli instance store

In questa architettura, tutte le operazioni di lettura vengono eseguite dagli archivi di istanze locali utilizzando il ASM_PREFERRED_READ_FAILURE_GROUP parametro. Le operazioni di scrittura si applicano sia ai volumi di instance store che ai volumi Amazon Elastic Block Store (Amazon EBS). Tuttavia, la larghezza di banda di Amazon EBS è dedicata alle operazioni di scrittura poiché le operazioni di lettura vengono trasferite sui volumi di archiviazione delle istanze. In caso di perdita di dati negli archivi di istanze, è possibile recuperare i dati dal gruppo di errori ASM in base ai volumi EBS o dal database di standby. Per ulteriori informazioni, consultare il white paper di Oracle Mirroring and Failure Groups with ASM. È possibile implementare Data Guard standby in una zona di disponibilità diversa per una protezione aggiuntiva.

Database Exadata ospitato su un gruppo di dischi ASM con due gruppi di errore

Amazon RDS for Oracle supporta Database Smart Flash Cache e tablespace temporanei negli archivi di istanze. I carichi di lavoro del database Oracle possono utilizzare questa funzionalità per ottenere una latenza inferiore per le operazioni di lettura, un throughput più elevato e un utilizzo efficiente della larghezza di banda di Amazon EBS per altre operazioni di I/O del database. Questa funzionalità è attualmente supportata nelle classi di istanze db.m5d, db.r5d, db.x2idn e db.x2iedn. Per le informazioni più recenti, consulta Classi di istanze supportate per l'archivio di istanze RDS for Oracle nella documentazione di Amazon RDS.

Opzioni di storage AWS per carichi di lavoro che richiedono bassa latenza e throughput elevato

I tipi di volume EBS attualmente supportati da Amazon RDS for Oracle, gp2, gp3 e io1, sono basati su unità a stato solido (SSD). Quando distribuisci questi tipi di volume con le classi di istanze ottimizzate per Amazon EBS appropriate, in genere possono soddisfare i tuoi requisiti di tempo di servizio, IOP e throughput.

Per le implementazioni di database Oracle autogestite su Amazon EC2, i volumi Amazon EBS io2 e io2 Block Express EBS offrono scelte aggiuntive per carichi di lavoro che richiedono una latenza inferiore e un throughput più elevato.

I carichi di lavoro che richiedono un throughput più elevato o latenze di microsecondi possono utilizzare volumi di storage non basati su Amazon EBS durante la distribuzione come database Oracle autogestiti su Amazon EC2. Ad esempio, Amazon FSx per OpenZFS può fornire più di 1 milione di IOPS con un throughput di 20 Gbsp o superiore con una latenza di poche centinaia di microsecondi. Amazon FSx for NetApp ONTAP è in grado di fornire centinaia di migliaia di IOPS con una latenza inferiore a un millisecondo.