Data Store for Memcache

Web-Turbolader aus der Schweiz

von - 06.12.2019
Schnelle Seiten auf dem Handy
Foto: Shutterstock / ra2studio
Die Memcached-Technologie kommt bei populären Schweizer Websites zum Einsatz. Eine Neuentwicklung von IBM Research Zurich steigert die Performance und senkt die Kosten.
Wer bei LinkedIn nach dem Namen eines Geschäftskontakts sucht, eine Unterkunft über Airbnb bucht oder auf Twitter einem Hashtag folgt, hat allenfalls schon einmal registriert, dass die Websites schon während des Tippens mögliche Antworten vorschlagen. Dies ist möglich, weil die Webseiten-Betreiber die Memcached-Technologie verwenden.
Die Webapplikationen LinkedIn, Airbnb oder Twitter verwenden in der Regel Datenbanken wie MySQL. Mit den Daten, die sie aus SQL-Abfragen erhalten, erzeugen die Appli­kationen dynamische Webseiten. Für die Performance der Applikationen ist es wichtig, dass diese Seiten möglichst schnell geladen werden, vor allem wenn es um E-Commerce geht. Denn beim Online-Shopping wartet niemand gerne auf sein Wunschprodukt. Jedoch können gewisse SQL-Abfragen, vor allem jene mit komplexen Prädikaten, sehr lange brauchen, bis die Ergebnisse geliefert werden.

Instagram und Wikipedia

Hier beschleunigt die Memcached-Technologie die dynamischen Datenbanken von Seiten wie beispielsweise Facebook, Instagram, Reddit und Wikipedia, indem Daten im Arbeitsspeicher der Webserver zwischengespeichert werden. Damit entfällt die Notwendigkeit, bei jeder einzelnen Abfrage wieder direkt auf die Datenbank zugreifen zu müssen. Stattdessen kann zuerst der Memcached-Server ab­gesucht werden. Nur wenn das Ergebnis dort nicht gefunden wird, geht die Abfrage weiter an den Webserver. Somit liefert eine Suche wesentlich schneller Ergebnisse.
Heute setzen mehr als 700 Anwendungen auf die Memcached-Technologie. Auch bieten die meisten Cloud- Anbieter verwaltete Memcached-Dienste an. Unter anderem Amazon. Dort wird die Open-Source-Lösung unter dem Produktnamen ElastiCache vermarket. Mit den Managementwerkzeugen der Amazon-Cloud können Admini­stratoren ein verteiltes Memcached-System anlegen, das selbstständig ausgefallene Knoten ersetzt. Ebenso kann der Administrator durch das Hinzufügen oder Entfernen von Knoten die Menge des Cache-Speichers regulieren. Durch die Integration in den Monitoring-Dienst CloudWatch lässt sich die Auslastung des Cache auch visuell prüfen.

Flaschenhals Arbeitsspeicher

Seit der Einführung von Memcached im Jahr 2003 setzen die Entwickler rund um Brad Fitzpatrick beim Zwischenspeichern ihrer Daten auf DRAM. Diese Wahl erweist sich als Flaschenhals, denn DRAM ist nicht die beste Lösung für das Memcaching. Erstens ist der Speicher flüchtig – bei einem Stromausfall gehen die Daten verloren. Zweitens ist DRAM teuer. Im Verlauf des Jahres 2017 stieg der Preis pro Gigabyte um über 100 Prozent. Dies war der größte Anstieg seit 1988. Mittlerweile hat sich der Markt etwas erholt, von einem Preisverfall wie bei anderen Hardware-Komponenten kann aber immer noch nicht die Rede sein. Ein Hauptgrund für die Entwicklung dürfte die große Nachfrage seitens der Cloud-Betreiber sein. Sie können allerdings drittens auch nur vergleichsweise wenige DRAM-Module pro Server installieren. Irgendwann sind die Steckplätze alle belegt.
DRAM ist damit nicht die optimale Lösung für das Zwischenspeichern großer Datenmengen. Um das Memcaching zu modernisieren, hat ein Team rund um die Wissenschaftler Nikolas Ioannou und Kornilios Kourtis von IBM Research Zurich im vergangenen Jahr einen verwalteten Memcache-Service mit nichtflüchtigem Speicher (Non-Volatile Memory, NVM) ent­wickelt: Data Store for Memcache.
Verwandte Themen