I database relazionali sono un pilastro della maggior parte delle applicazioni. Ma per quanto riguarda scalabilità e bassa latenza, non si può fare molto per migliorare le prestazioni. Anche aggiungendo repliche a letture in scala, esiste un limite fisico imposto dalla capacità di archiviazione su disco. La strategia più efficace per far fronte a tale limite consiste nel completare i database basati su disco con il caching.
In questo tutorial apprenderai come incrementare le prestazioni delle tue applicazioni aggiungendo un livello di caching al database relazionale. Attuerai una strategia cache-aside utilizzando Amazon ElastiCache for Redis per un database MySQL. La strategia cache-aside è una delle più diffuse per incrementare le prestazioni di un database. Quando un’applicazione deve leggere dati da un database, anzitutto interroga la cache. Se non vengono trovati dati, l’applicazione interroga il database e inserisce i risultati nella cache. Esistono molti modi per invalidare la cache se i record pertinenti vengono modificati nel database sottostante, ma ai fini di questo tutorial useremo la funzione di scadenza Time To Live (TTL) fornita da Redis.
Il nodo ElastiCache for Redis e il database MySQL creati in questo tutorial sono idonei al piano gratuito AWS.

Tempo necessario per il completamento: 120 minuti
Costo: idoneo per il piano gratuito
Casi d’uso: caching, dimensionamento, alta disponibilità, applicazione in tempo reale
Prodotti: Amazon ElastiCache for Redis, Amazon RDS MySQL e Piano gratuito di AWS
Pubblico: sviluppatori
Livello: principiante - intermedio
Ultimo aggiornamento: 25 luglio 2019
*Questa stima presuppone il rispetto delle configurazioni consigliate durante il tutorial e la terminazione di tutte le risorse entro 2 ore.
**Gli account creati nelle ultime 24 ore potrebbero non avere ancora accesso a tutte le risorse necessarie per questo progetto.
Per completare la sezione di prerequisito sono necessari 20 minuti.
Questo tutorial illustra alcuni meccanismi con esempi scritti in Python per spiegare alcune tecniche di caching. Auspicabilmente sarà facile tradurre il codice nel linguaggio da te scelto.
Per completare questo tutorial è necessario accedere a un'istanza EC2. Se non ne hai già una in esecuzione, segui queste istruzioni per assegnarne una.
Dopo che hai accesso all’istanza EC2, esegui questi comandi:
$ sudo yum install git -y $ sudo yum install mysql -y $ sudo yum install python3 -y $ pip3 install --user virtualenv $ git clone https://github.com/aws-samples/amazon-elasticache-samples/ $ cd amazon-elasticache-samples/database-caching $ virtualenv venv $ source ./venv/bin/activate $ pip3 install -r requirements.txt
Ora tutto è pronto per iniziare il tutorial.