Auf seiner re:Invent-Konferenz kündigte Amazons Cloud-Computing-Abteilung AWS heute Amazon an Aurora DSQLeine neue serverlose, verteilte SQL-Datenbank, die hohe Verfügbarkeit (99,999 % für Verfügbarkeit in mehreren Regionen), starke Konsistenz, PostgreSQL-Kompatibilität und, wie das Unternehmen sagt, „viermal schnellere Lese- und Schreibvorgänge im Vergleich zu anderen beliebten verteilten SQL-Datenbanken“ verspricht.
AWS argumentiert, dass Aurora DSQL eine deutlich geringere Latenz bieten wird als Google Spanner, sein engster Konkurrent.
Interessanterweise betont AWS, dass hier kein Datenbank-Sharding zur Skalierung des Dienstes erforderlich ist – und dass Lese- und Schreibvorgänge unabhängig skaliert werden können. Das Unternehmen betont außerdem, dass Aurora DSQL eine starke Konsistenz bietet und sicherstellt, dass alle Regionen immer die gleichen Daten zur gleichen Zeit anzeigen, wenn sich Benutzer für einen Multiregionen-Ansatz entscheiden.
AWS weist darauf hin, dass Aurora DSQL zur Gewährleistung der Ausfallsicherheit eine Aktiv-Aktiv-Architektur verwendet, was bedeutet, dass immer ein Standby-Server zur Übernahme bereit ist, was garantiert, „dass die Anwendung eines Kunden immer verfügbar ist, indem es einer Anwendung ermöglicht wird, auf jedem Aurora DSQL zu lesen und zu schreiben.“ Endpunkt.“ Da es sich um einen vollständig verwalteten Dienst handelt, übernimmt AWS alle Sicherheitsupdates und verwaltet die gesamte Infrastruktur.
Um all dies zu erreichen, musste das AWS-Team nach eigenen Angaben „die Transaktionsverarbeitung in relationalen Datenbanken neu erfinden“. Normalerweise ist es ziemlich schwierig, eine starke Konsistenz über mehrere Regionen hinweg sicherzustellen und diese global verteilten Server mit der von AWS als „Mikrosekundengenauigkeit“ bezeichneten Synchronisierung zu synchronisieren. Laut AWS ist dies möglich, da die Transaktionsverarbeitung vom Speicher entkoppelt wurde. Herkömmliche Methoden würden, so erklärt das Unternehmen, einen Engpass aufweisen, da Informationen mehrmals hin- und hergereicht werden müssten. Aurora überprüft jedoch jede Transaktion nur dann, wenn es Zeit ist, die Änderungen zu übernehmen, und wenn das Commit erfolgt, werden diese Schreibvorgänge dann über die Regionen hinweg parallelisiert.
Eine raffinierte Wendung hier: Um sicherzustellen, dass jede Region die Commits in der richtigen Reihenfolge sieht, verwendet Aurora DSQL den Amazon Time Sync Service, der jeder EC2-Instanz sehr präzise Referenzuhren hinzufügt und diese mithilfe der Atomuhren auf GPS-Satelliten synchronisiert.
Diese genaue Zeit hilft bei der Lösung einer Reihe von Datenkonsistenzproblemen und beschleunigt die Verarbeitung. Und auch wenn die Verwendung eines zeitbasierten Ansatzes wie eine Selbstverständlichkeit erscheint, sind dafür sehr präzise – und gut synchronisierte – Uhren erforderlich. Uhren zu synchronisieren, und zwar auf globaler Ebene, ist ein überraschend schwieriges Problem. Aus diesem Grund konnten Datenbanken die Zeit traditionell nicht auf diese Weise nutzen. Darauf sind Startups wie Clockwork spezialisiert. Das war lange Zeit eigentlich nicht möglich, aber jetzt, da diese Systeme verfügbar sind, ermöglichen sie Datenbankinnovationen wie diese.