Relationale Datenbanken sind ein zentraler Bestandteil der meisten Anwendungen. Es gibt jedoch nur wenige Möglichkeiten, ihre Skalierbarkeit zu verbessern und ihre Latenzzeiten zu verringern. Selbst wenn Sie zu Beschleunigung von Lesevorgängen Replicas hinzufügen, wird die Skalierbarkeit durch die Größe des Festplattenspeichers begrenzt. Die effektivste Abhilfemaßnahme für diese Einschränkung ist die Verwendung festplattenbasierter Datenbanken mit In-Memory-Caching.

In diesem Tutorial erfahren Sie, wie Sie die Leistung Ihrer Anwendungen steigern, indem Sie Ihre relationale Datenbank um eine Schicht für In-Memory-Caching erweitern. Sie werden für eine MySQL-Datenbank eine Strategie für nebenläufiges Caching mit Amazon ElastiCache for Redis umsetzen. Nebenläufiges Caching gehört zu den gängigsten Methoden zur Steigerung der Leistung von Datenbanken. Bei Lesezugriffen von Anwendungen auf Daten in einer Datenbank wird zunächst eine Abfrage im Cache durchgeführt. Wenn die benötigten Daten nicht gefunden werden, wird stattdessen eine Abfrage in der Datenbank durchgeführt und das Abfrageergebnis wird in den Cache geladen. Falls Änderungen in der zugrunde liegenden Datenbank vorgenommen werden, gibt es verschiedene Möglichkeiten, um den Cache für ungültig zu erklären. In diesem Tutorial werden wir uns jedoch auf die Funktion für die Gültigkeitsdauer (Time to Live, TTL) in Redis konzentrieren.

Der ElastiCache for Redis-Knoten und die MySQL-Datenbank, die in diesem Tutorial erstellt werden, kommen für das kostenlose AWS-Kontingent in Frage.

Implementierung von nebenläufigem Caching mit Amazon ElastiCache for Redis

Zeit: 120 Minuten

Kosten: für kostenloses Kontingent qualifiziert

Anwendungsfälle: Caching-, Skalierungs-, Hochverfügbarkeits- und Echtzeitanwendungen

Produkte: Amazon ElastiCache für Redis, Amazon RDS MySQL und kostenloses AWS-Kontingent

Zielgruppe: Entwickler

Niveau: Einsteiger bis Fortgeschrittene

Letzte Aktualisierung: 25. Juli 2019

*Diese Schätzung basiert auf der Annahme, dass Sie die im Tutorial empfohlenen Konfigurationen übernehmen und alle Ressourcen innerhalb von 2 Stunden beenden.

**Innerhalb der letzten 24 Stunden erstellte Konten haben möglicherweise noch keinen Zugriff auf alle für dieses Projekt erforderlichen Ressourcen.

Planen Sie für die Bearbeitung dieses Abschnitts 20 Minuten ein. 

In diesem Tutorial werden zur Erläuterung von Caching-Methoden verschiedene Mechanismen anhand von Beispielen in Python gezeigt. Der Code sollte ohne großen Aufwand in die von Ihnen bevorzugte Programmiersprache überführt werden können.

Für die Bearbeitung dieses Tutorials benötigen Sie Zugriff auf eine EC2-Instance. Wenn Sie noch keine solche ausführen, können Sie mit den hier beschriebenen Schritten eine bereitstellen.

Wenn Sie Zugriff auf eine EC2-Instance haben, führen Sie die folgenden Befehle aus: 

$ 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

Nun ist alles bereit, um mit dem Tutorial zu beginnen.