Amazon Aurora – die nächste Evolution im Datenbank Management

In unserer modernen Zeit sind relationale Datenbanken nicht mehr wegzudenken. Die Verfügbarkeit von Daten und deren Integrität sind wichtige Aspekte in den Unternehmen, um Geschäftsprozesse erfolgreich abwickeln zu können. Die Verwaltung und Speicherung der Daten erfolgt über ein relationales Datenbank Management System (RDBMS). Dieser Blogbeitrag widmet sich Amazon Aurora, einem RDBMS-Service von Amazon Web Services (AWS).

Was ist ein RDBMS?

Unter einem RDBMS versteht man eine Software zur Verwaltung von relationalen Datenbanken. Die Daten werden in einfachen Tabellen gespeichert und in bestimmte Beziehungen zueinander organisiert. Es setzt auf SQL (Structured Query Language) als Abfragesprache, die es Nutzende ermöglicht, Daten abzurufen und zu bearbeiten. Ein RDBMS wird in vielen Anwendungen wie Unternehmenssoftware, Webanwendungen und Datenanalyse eingesetzt. Einige der wichtigsten Anbieter sind Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL und MySQL.

Was ist Amazon Aurora?

Amazon Aurora ist ein vollständig verwalteter und cloud-basierender RDBMS-Service von AWS. Aurora unterstützt die Datenbank-Engine PostgreSQL und MySQL. Es lassen sich die üblichen PostgreSQL- und MySQL Kommandos, -Anwendungen, -Treiber und -Tools verwenden. Das Design von Aurora sieht vor, die Datenbank auf verteilten, hochverfügbaren AWS Cloud-Umgebungen zu betreiben. Der Clou ist jedoch die Verwaltung des Speichers. Bei steigender Datenmenge wird der Speicherplatz der Datenbank automatisch in 10 GB Schritten bis zur maximalen Grösse von 128 TB skaliert.

Weitere Leistungen des Service sind:

  • Die Verwaltung der zugrunde liegenden Hardware
  • Die Verwaltung des zugrunde liegenden Betriebssystems
  • Die Verwaltung der Datenbank-Engine Software
  • Die automatische Sicherung der Datenbank
  • Fehlererkennung und Failover auf neue primäre Datenbank-Instanz

Ich als Nutzer darf weiterhin folgende Tätigkeiten selbst erledigen:

  • Die Konfiguration der Datenbank Parameter
  • Das Überprüfen der Protokolle für die Transaktionen in einer Datenbank
  • Die Wartung in der Datenbank
  • Die Verwaltung der User in der Datenbank
  • Die Planung und Umsetzung von Backup- und Recovery Strategien
  • Die Erstellung von Monitoring-Alarmen auf Datenbankebene und die Abonnierung von Ereignissen

Amazon Aurora Architektur

Die Architektur von Aurora ist auf Performance und hohe Verfügbarkeit ausgelegt. Der Kunde kann den Service entweder über das AWS-Portal oder per API bestellen. Dabei wird eine primäre Datenbank-Instanz für die Schreib- und Lesevorgänge erstellt. Anschliessend können maximal 15 zusätzliche Replika-Instanzen für Lesevorgänge in drei Availability Zones bereitgestellt werden. Dabei handelt es sich um getrennte Rechenzentren, die sich in der gleichen geografischen Region befinden. Die Datenbank und ihre Dateien werden in einer virtuellen Speichereinheit abgelegt und erstrecken sich über drei Availability Zones innerhalb der AWS Region.

Aurora Architektur in einem Multi-AZ Setup (Bildquelle: Giancarlo Morena)

Und die Ausfallsicherheit?

Aurora überwacht den Datenbankzustand und startet sie automatisch neu, wenn ein Fehler auftritt. Beim Ausfall der primären Datenbank-Instanz wird automatisch eine der Replika-Instanzen zur neuen primären Datenbank-Instanz. Die Dauer für diesen Failover Vorgang wird von AWS mit 30 bis 60 Sekunden deklariert.

Wie verhält sich Aurora im Failover Fall? (Quelle: Giancarlo Morena)
Wie verhält sich Aurora im Failover Fall? (Bildquelle: Giancarlo Morena)

Welche Kosten fallen an?

Die Kosten für den Service sind abhängig von der Anzahl Instanzen, Speicherkapazität, Instanzen-Stunden, Anzahl I/O-Transaktionen, Menge des Internet-Datenverkehrs sowie die Auswahl der Region. AWS bietet einen Preisrechner, mit dem man die geschätzten Kosten für die Implementierung auf Basis der Anforderungen berechnen kann.

Fazit

Das neue und fortschrittliche Aurora-Design mit verteilter Speichereinheit ist wirklich eine Innovation. Eine weitere Eigenschaft ist die automatische Skalierung des Speichers bei wachsender Datenmenge. Die Leistungserbringung seitens AWS ist vielfältig und umfangreich. Die IT-Abteilungen in den Unternehmen müssen sich nicht mehr um die Bereitstellung von Hardware und Software, das Patchen von Betriebssystemen und Datenbanken sowie Backup und Wiederherstellung kümmern. Die Anbieter Azure und Google bieten vergleichbare RDBMS-Services in der Cloud. Die Unterschiede liegen in der Architektur, Leistungsumfang und Preisgestaltung. Die Wahl hängt von den spezifischen Anforderungen und Präferenzen ab. Insgesamt bietet Amazon Aurora eine benutzerfreundliche und skalierbare Lösung für die Verwaltung von relationaler Datenbanken in der Cloud.

Weiterführende Links

Was ist Amazon Aurora? | Amazon Web Services

AWS – Architecture Center | Amazon Web Services

AWS – Pricing Calculator | Amazon Web Services

Database Products | Azure

Cloud Spanner | Google Cloud

 

Beitrag teilen

Giancarlo Morena

Giancarlo Morena ist Product Manager bei der Swisscom und bloggt aus dem Unterricht des «CAS Cloud and Platform Manager».

Alle Beiträge ansehen von Giancarlo Morena →

Schreibe einen Kommentar