AWS verspricht Leistungsrekorde bei serverlosen Datenbankdiensten
Der neue Hypervisor Caspian und eigens entwickelte Zeitserver-Hardware sollen die Skalierbarkeit von AWS-Serverless-Diensten in neue Höhen treiben.
- Jens Söldner
Auf seiner jährlichen Hausmesse re:Invent hat Amazon Web Services (AWS) einige Neuerungen vorgestellt, die seine serverlosen Datenbankdienste betreffen. Unter serverlos versteht AWS dabei, dass sämtliche Administrationsaufgaben der Hardware und der für die Dienste notwendigen virtuellen Maschinen im Hintergrund ablaufen und die benötigten Ressourcen automatisch bereitstellen. Die Skalierung sollen sie bei Bedarf automatisch anpassen, ohne dass die Administratoren der Kunden darum kümmern müssen. Die größten Verbesserungen betreffen die serverlose Variante des Datenbankdienstes Aurora, dessen Performance und Skalierbarkeit dank technischer Grundlagenarbeit eine neue Dimension erreichen sollen.
Skalierbarkeit kollidiert mit Konsistenz
Hierzu führte Peter Desantis, der als Senior Vice President für sämtliche Infrastrukturdienste bei AWS zuständig ist, in seiner Keynote zunächst in die Herausforderungen ein, die einer hohen Skalierbarkeit entgegenstehen. Die Hindernisse entstehen durch die gängige Architektur von Datenbanken, wo aufgrund der harten Konsistenzanforderungen die Schreibvorgänge in die Datenbank nicht ohne Weiteres auf mehrere Knoten skaliert werden können. AWS will nun eine Lösung gefunden haben und stellte auf der Konferenz die Amazon Aurora Limitless Database als neuen Dienst innerhalb der Amazon-Aurora-Datenbankfamilie vor, den Kunden nun als Preview antesten können. Die Amazon-Aurora-Limitless-Datenbank ist ein verteilter, serverloser PaaS-Dienst, der Millionen von Schreibtransaktionen pro Sekunde und die Verwaltung von vielen Petabyte an Daten ermöglichen soll. Gleichzeitig können die Kunden diese verteilte Datenbank so nutzen, als ob es sich um einen einzigen zentralisierten Datenbankserver handeln würde. Codeanpassungen sind somit unnötig.
Technisch kommt zunächst ein spezialisierter Hypervisor namens Caspian für den Betrieb der virtuellen Maschinen zum Einsatz. Der virtualisierte Betrieb der Datenbanken sei notwendig, um die Sicherheitsgrenzen zwischen Mandanten zu gewährleisten – Container und herkömmliche Prozesse seinen nicht ausreichend und der direkte Betrieb auf physischen Servern zu einschränkend beim Skalieren und Migrieren von Datenbanken. Caspian bietet hierfür die Möglichkeit, den Datenbank-VMs von Anfang an die maximale Hauptspeichernutzung vorzugaukeln, wobei die RAM-Ressourcen erst bei Notwendigkeit gewährt werden.
Sharding und neue Routing-Schicht
Zudem kann Caspian die Datenbank-VMs im Hintergrund schnell auf andere Server migrieren, wenn dies der interne Ressourcenmanager aufgrund der Auslastungssituation entscheidet. Um mehrere Server im Hintergrund für die Verteilung der Datenbankarbeit nutzen zu können, ist die Datenbank durch Sharding in Partitionen aufgeteilt. Die zweite Grundlageninnovation besteht nun aus einer neuen Routingschicht, die die an die Datenbank gestellten Anfragen effizient an die Partitionen verteilt und die Ergebnisse wieder kombiniert. Diese Routing-Schicht wird ebenfalls mit Auroras Datenbanktechniken bereitgestellt.
Die größte technische Herausforderung, das Datenbankprotokoll, das von mehreren Schreibern gleichzeitig benötigt wird, mit exakten Zeitstempeln zu versehen, hat AWS ebenfalls in den Griff bekommen. Hierzu stellte der Hersteller eine neue Version seines "Amazon Time Sync Service" vor, der jetzt dank spezieller Zeitserverhardware (einer eigenen AWS Timekeeping Appliance auf Basis vom AWS-Nitro-Chip und einem FPGA), die mehrfach in jeder Verfügbarkeitszone in eigenen Racks eingebaut werden, eine Zeitsynchronisation im Mikrosekundenbereich bereitstellen kann. Erst das ermöglicht die hohen Raten bei Schreibtransaktionen, da die zeitliche Auflösung der bisherigen Zeitsynchronisation mit einer Latenz von einer Millisekunde die Transaktionszahl stark limitiert hätte.
Caspian treibt auch Caching-Dienste und Data-Warehouses an
Von der Grundlagenarbeit zum Hypervisor Caspian und der neuen Routingschicht für Anfragen profitiert auch der Caching-Dienst Amazon ElastiCache, den AWS nun serverlos mit Redis oder Memcached anbietet. Auch hier verbessern Partitionen (Shards) die Skalierbarkeit. Kunden sollen davon profitieren, indem bisher notwendige Administrationsarbeiten entfallen würden. Amazon ElastiCache Serverless nutzt den Caspian Hypervisor, um die Partitionen automatisch auf die benötigte Größe einzustellen und bei Bedarf hoch- und herunterzuskalieren. Dank der neuen Routingschicht für Anfragen soll gleichzeitig die gewohnte Geschwindigkeit aufrechterhalten werden, ohne dass zusätzliche Latenzen entstehen. Amazon ElastiCache unterstützt Memcached 1.6 und Redis 7, bis zu 5 TByte Hauptspeichernutzung und weist eine durchschnittliche Anfragelatenz von einer halben Millisekunde auf.
Der dritte serverlose Datenbankdienst, der jetzt Erweiterungen erfährt, ist Amazon Redshift, das Cloud Data Warehouse Angebot des Herstellers. Die Verbesserungen, die sich momentan als Preview testen lassen, umfassen die Einbindung von KI-Techniken, um die Optimierung und Skalierung der Data Warehouses abhängig von den Anfragemustern zu automatisieren. Kunden sollen dabei von einer deutlichen Reduktion des Administrationsaufwands profitieren.
(ulw)