Alles, was Sie nicht über Amazon Aurora wussten

Herkömmliche Datenbanksysteme haben viele Leistungs-, Verfügbarkeits- und Skalierbarkeitseinschränkungen. Amazon Aurora ist die Lösung für diese Einschränkungen.

Datenbanken sind notwendig, um die Apps zu betreiben, die das Geschäft betreiben. Sie sollten größer, zuverlässiger und schneller sein, um bessere Dienste bereitzustellen. Amazon Web Services machen es Unternehmen einfach, Daten zu verwalten und die Kundenzufriedenheit zu verbessern.

Der Webservice AWS Aurora von Amazon ist ein Beispiel für einen solchen Service. Es verwendet Cluster-Volumes, um seine Daten zu verwalten und sie für Notfallsicherungen zuzuweisen.

Was ist Amazon Aurora?

Amazon Aurora, eine Cloud-native Datenbank, ist vollständig kompatibel mit Open-Source MySQL und PostgreSQL. Aurora unterstützt alle Open-Source-MySQL-Funktionen. Es ermöglicht auch Drop-In-Kompatibilität mit Anwendungen, die auf diesen Datenbanken ausgeführt werden.

Aurora wurde für Kunden entwickelt, die einen vollständig verwalteten Datenbankdienst mit der Kosteneffizienz und Einfachheit von Open-Source-Datenbanken, aber der gleichen Leistung wie eine kommerzielle Datenbank benötigen.

Aurora bietet eine fünfmal schnellere Leistung als herkömmliches MySQL und dreimal mehr als PostgreSQL. Amazon RDS übernimmt Aufgaben wie Bereitstellung, Sicherung und Wiederherstellung. Es fallen keine Vorabkosten an und Sie zahlen nur eine monatliche Gebühr.

Aurora ist insofern einzigartig, als es eine Erfolgsbilanz für operative Exzellenz und Unternehmensfunktionen zu einem Bruchteil der Kosten kommerzieller Datenbanken bietet.

Aurora bietet weltweit beispiellose Leistung, Verfügbarkeit, Sicherheit und Zuverlässigkeit. Aurora ist seit seiner Einführung im Jahr 2014 der am schnellsten wachsende Service im AWS-Portfolio.

Wofür wird Amazon Aurora verwendet?

Das bemerkenswerte Wachstum von Aurora wurde durch das starke Interesse vieler Branchen vorangetrieben. Wir haben in den letzten zwölf Monaten ein starkes Interesse an den Branchen Finanzdienstleistungen, Software und Internet sowie Unterhaltung und Spiele und Einzelhandel festgestellt.

Kunden migrieren zu Aurora MySQL und Aurora PostgreSQL, um ihre MySQL- und PostgreSQL-Datenbanken zu konsolidieren. Wir sehen auch, dass viele Kunden von Legacy-Datenbanken wie Oracle oder Microsoft SQL Server zu Aurora PostgreSQL migrieren.

Diese „break-free“ Kunden haben es satt, hohe Lizenzgebühren zu zahlen und sich in veraltete Datenbanken einzuschließen. Kunden mit hohem Wachstum wollen schnell und nahtlos in alle Regionen skalieren. Sie möchten auch in der Lage sein, AWS-Services zu integrieren.

Vorteile von Amazon Aurora

Nachfolgend sind die Vorteile der Verwendung von Amazon Aurora aufgeführt:

Skalierbarkeit

Sie können die automatische Skalierung aktivieren. Es erhöht die Speicherkapazität, wenn Sie mehr Speicher haben. Es wird auch die Größe Ihrer Datenbank verringern, wenn der Speicherplatz abnimmt.

Kosteneffizient

Zahlen Sie nur für die Rechenleistung und den Speicherplatz, den Sie nutzen. Es fallen keine Vorauszahlungen oder andere Gebühren an. Es ist einfach, monatliche Zahlungen zu leisten.

Sicherheit

Mit Amazon VPC können Sie das Netzwerk isolieren, in dem Ihre Datenbank ausgeführt wird.

Verwenden Sie AWS Key Management Service, um Verschlüsselungsschlüssel zu erstellen, die Ihre Daten schützen.

Hohe Verfügbarkeit und Langlebigkeit

Sie können Repliken der Aurora in vielen Availability Zones erstellen.

Es handelt sich um eine globale Datenbank, die problemlos über mehrere AWS-Regionen verteilt werden kann, was die lokale Lese-/Schreibgeschwindigkeit verringern könnte.

Unterstützung für die Migration

Um Ihre lokale Datenbank zu Aurora zu migrieren, können Sie die Befehle pg-dump oder MySQL dump verwenden.

Vollständig verwaltet

Aurora ist sehr einfach zu bedienen. Es ist einfach, eine Instanz mit der AWS RDS-Konsole einzurichten. Aurora bietet die Überwachung mit Amazon Cloudwatch ohne zusätzliche Kosten an.

Sie müssen sich keine Gedanken über Bereitstellung, Aktualisierung oder Upgrade machen. Amazon hat die vollständige Kontrolle über alle Aspekte Ihrer Software und führt alle erforderlichen Patches durch.

Beste Funktionen von Amazon Aurora

Nachfolgend sind die besten Funktionen von Amazon Aurora aufgeführt:

Skalierbarkeit: Dies ist die beste Funktion von Amazon Aurora. Die Datenbank wird automatisch entsprechend den Speicheranforderungen vergrößert. Das Volumen kann in Schritten von bis zu 10 GB wachsen und maximal 128 TB erreichen. Dies ermöglicht eine nahtlose Speicherung.

Hoher Durchsatz: SysBench-Benchmarks haben eine 5-fache Steigerung des Durchsatzes gezeigt. Amazon Aurora verwendet eine Vielzahl von Software- und Hardwaretechniken, um den verfügbaren Speicher, die Rechenleistung und das Netzwerk zu maximieren. Um die Leistungskonsistenz zu verbessern, verwenden Ein- und Ausgabeoperationen verteilte Systemtechniken wie Quoren.

  So zählen Sie leere oder leere Zellen in Google Tabellen

Überwachung und Reparatur von Instances: Amazon RDS überwacht kontinuierlich den Zustand und die Leistung der Amazon Aurora-Datenbank sowie der zugrunde liegenden EC2-Instances. Amazon RDS startet die Datenbank im Falle eines Datenbankausfalls und alle damit verbundenen Prozesse automatisch neu.

Verschlüsselung: Amazon Aurora bietet hohe Sicherheit, indem es Ihnen ermöglicht, die Datenbank mit Schlüsseln zu verschlüsseln, die Sie kontrollieren und über den AWS Key Management Service erstellen. Amazon Aurora verwendet SSL-Verschlüsselung, um Daten während der Übertragung zu schützen.

Einfach zu bedienen: Amazon Aurora ist einfach zu bedienen. Die Amazon RDS-Managementkonsole wird verwendet, um die neue Amazon Aurora-DB-Instance zu erstellen. Dieser API-Aufruf oder CLI nimmt nur einen API-Aufruf entgegen. Amazon Aurora-DB-Instances sind mit den entsprechenden Parametern und Einstellungen für jeden DB-Instance-Typ vorkonfiguriert.

Kostengünstig: Zahlen Sie nur, was Sie nutzen. Es fallen keine Vorabkosten oder sonstige Gebühren an. Es ist einfach, monatliche Zahlungen zu leisten.

Migrationsunterstützung: Um Ihre lokale Datenbank von Aurora zu Aurora zu migrieren, können Sie die Befehle pg-dump oder MySQL dump verwenden.

Aurora ist vollständig verwaltet: Sie können es sofort verwenden. Alles, was Sie tun müssen, ist eine Instanz mit der AWS RDS-Konsole zu erstellen oder eine API aus Ihrem Code aufzurufen. Sie müssen sich keine Gedanken über Bereitstellung, Aktualisierung oder Upgrade machen.

Amazon Aurora-Architektur

Die gesamte Architektur der Aurora-Datenbank basiert auf einem traditionellen DBMS. Es verwendet die Mehrheit der DBMS-Komponenten wie Transaktionsmanager, Abfrageausführungsmodul und Wiederherstellungsmanager wieder.

Amazon Aurora ist ein neues DBMS, das über das traditionelle Spiel hinausgeht. Es nimmt viele Verbesserungen an bestehenden DBMSs vor, um deren Verfügbarkeit, Zuverlässigkeit und Skalierbarkeit zu erhöhen.

Diese Änderungen sind:

  • Es wird ein primäres Replikat-Setup verwendet
  • Die Fernspeicherung der Daten kann repliziert werden
  • Nur Änderungsprotokolle sollen auf der Remote-Festplatte gespeichert werden

Die Architektur von Amazon Aurora kann die Speicherebenen traditioneller relationaler Datenbanken skalieren.

Die primäre Datenbankinstanz von Amazon Aurora leitet das Redo-Protokoll zur Verarbeitung an ihre Speicherebene weiter. Die Protokolle werden von der Speicherschicht verarbeitet, die neue Seitenversionen erstellt und speichert und alles bis zu S3 sichert.

Bildnachweis: AWS

Amazon Aurora muss lediglich zusätzliche Datenbank-Engine-Instanzen erstellen und diese während einer horizontalen Skalierung mit der vorhandenen Speicherebene verbinden. Dadurch wird der Engpass bei der Datenreplikation beseitigt, indem diese Aufgaben zur parallelen Verarbeitung an die Speicherschicht delegiert werden.

Dies ermöglicht die Erstellung vieler neuer Funktionen, wie z.

  • Sofortige Wiederherstellung nach einem Absturz: Sie müssen Protokolle vom letzten Checkpoint nicht erneut abspielen
  • Schnelle Failover: Sie müssen sich keine Gedanken darüber machen, welche Replikatdatenbank den neuesten Redo-Log-Eintrag enthält. Das erledigt die Speicherschicht.
  • Backtracking: Da die Speicherschicht über gestreamte Redo-Protokolle verfügt, kann sie die Daten zu bestimmten Punkten in der Vergangenheit „zurückspulen“, ohne einen Prüfpunkt aus dem S3-Backup wiederherstellen zu müssen

Amazon Aurora einrichten

Im Folgenden finden Sie die Schritte zum erfolgreichen Einrichten von Amazon Aurora.

#1. Melden Sie sich bei der AWS-Verwaltungskonsole an und öffnen Sie RDS.

#2. Klicken Sie auf Datenbank erstellen.

#3. Wählen Sie die Engine-Option als Amazon Aurora.

#4. Wählen Sie die gewünschte Aurora MySQL-Version aus.

#5. Erstellen Sie eine DB-Cluster-ID und legen Sie den Benutzernamen und das Kennwort für die Anmeldeinformationen fest.

#6. Wählen Sie die Instanzkonfiguration aus der Dropdown-Option und wählen Sie eine Option zum Erstellen von Replikaten oder nicht.

#7. Wählen Sie die Konnektivitätsoptionen wie unten gezeigt aus.

#8. Wählen Sie eine vorhandene VPC-Sicherheitsgruppe aus oder erstellen Sie eine neue.

#9. Aktivieren Sie die erweiterte Überwachung, wählen Sie die Option Granularität und Überwachungsrolle aus.

#10. Klicken Sie abschließend auf Datenbank erstellen.

#11. Sie haben die Amazon Aurora-Datenbank erfolgreich erstellt.

Preismodell: Amazon Aurora

Aurora Serverless ACUs v2 kosten 0,12 $ pro Stunde, doppelt so viel wie bereitgestellte Aurora ACUs. Das heisst:

  • Aktuelle Mindestbetriebskosten: 4 ACUs, 0,48 USD pro Stunde oder 350 USD pro Monat
  • Für Workloads, die die automatische Skalierungsfunktion pathologisch auslösen, gibt es eine minimale Skalierbarkeitserhöhung von 30 Sekunden oder 0,0005 $ für eine halbe ACU.
  So entfernst du den Standort von Instagram und hältst deinen Aufenthaltsort privat

Die monatlichen Kosten für Aurora Serverless V2 betragen 350 $. Für jedes automatisch skalierte Ereignis werden mindestens 0,0005 $ berechnet. Obwohl die entsprechende Aurora-Kapazität 175 US-Dollar pro Monat beträgt, hätte sie keine reaktionsschnelle serverlose automatische Skalierung.

Anwendungsfälle: Amazon Aurora

#1. Software als Service (SaaS)

Es verwendet Multitalent-Architekturen, die in der Speicher- und Instanzskalierung flexibel sein können. Infolgedessen ermöglicht Amazon Aurora Unternehmen, sich auf die Entwicklung hochwertiger Anwendungen zu konzentrieren und sich keine Gedanken über die Datenbank zu machen.

#2. Spielzweck

AWS Aurora funktioniert auf die gleiche Weise wie die relationale Datenbank. Es bietet einen hohen Durchsatz, enorme Speicherkapazität, hohe Verfügbarkeit und hohe Verfügbarkeit.

#3. Unternehmensanwendung

Amazon Aurora ist mit jedem Unternehmen kompatibel, das bereits filmischer ist als Relational Database. Aurora ist kostengünstig, da es den Preis im Vergleich zu anderen Optionen um bis zu 90 % senkt.

Auroras Kompatibilität mit MySQL und PostgreSQL

Amazon Aurora ist auf hohe Leistung, globale Verfügbarkeit und vollständige MySQL/PostgreSQL-Kompatibilität ausgelegt. Standardtools erleichtern die Migration von MySQL- und PostgreSQL-Datenbanken von Aurora. Sie können auch ältere SQL Server-Apps mit Babelfish für Aurora PostgreSQL ausführen, was nur minimale Codeänderungen erfordert.

Amazon Aurora funktioniert mit standardmäßigen PostgreSQL-Import-/Export-Tools wie pg_dump oder pg_restore. Sie können auch eine neue Amazon Aurora-Tabelle mit einem Amazon RDS- oder MySQL-DB-Snapshot erstellen.

DB-Snapshots sind in der Regel schnell fertig gestellt, aber es hängt davon ab, wie viele und welches Datenformat migriert wird.

Amazon Aurora vs. Amazon RDS

Architektur-Design

Die RDS-Architektur ist insofern ähnlich, als sie es Ihnen ermöglicht, eine Datenbank-Engine manuell auf Amazon EC2 zu installieren, die Bereitstellung und Wartung jedoch AWS überlässt. RDS bietet viele Funktionen wie automatisches Failover, Sicherungen usw. RDS verwendet Amazon EBS-Volumes zum Speichern von Protokoll- und Datenbankdaten.

Das Aurora-Datenbankspeichersystem ist zuverlässig und fehlertolerant. Der Datenbankspeicher für Aurora ist unabhängig von den Instanzen. Aurora speichert Daten in sechs Kopien mit jeweils 10-GB-Blöcken. Diese Kopien werden an drei Availability Zones verteilt. Selbst wenn Sie nur eine Aurora-Instanz haben, gibt es immer noch sechs Kopien Ihrer Daten.

Leistung

RDS verwendet SSD-Speicher für verbesserte E/A-Durchsatzleistung. Es sind zwei SSD-gestützte Speicheroptionen verfügbar. Einer ist für leistungsstarke OLTP-Anwendungen, der andere für den universellen, kostengünstigen Einsatz.

Aurora bietet die doppelte Leistung von PostgreSQL und die fünffache Leistung von Standard-MySQL auf vergleichbarer Hardware. Die Leistung von Aurora war durchweg höher und konsistenter.

Datenbank-Engine-Unterstützung

RDS ist mit MySQL, PostgreSQL und MariaDB sowie mit Microsoft SQL Server und Oracle kompatibel.

Aurora ist sowohl mit PostgreSQL als auch mit MySQL kompatibel. Das bedeutet, dass Sie Ihre bestehenden Datenbank-Tools und Apps sowohl auf PostgreSQL als auch auf MySQL verwenden können, ohne Änderungen vorzunehmen.

Haltbarkeit und Verfügbarkeit

Aurora verfügt über ein einzigartiges Speichermodell, das kontinuierliche Backups und Wiederherstellungen mit sehr niedrigem RPO (Recovery Points Objective) ermöglicht. Dadurch ist es zuverlässiger und langlebiger als RDS.

Daten sind in Aurora per Design dauerhaft. Es gibt immer mehrere Kopien Ihrer Daten. Jeder Aurora-Cluster verfügt über sechs Speicherknoten, die auf drei AZs verteilt sind. Selbst wenn Sie nur einen Rechenknoten haben, gibt es immer noch mehrere Kopien Ihrer Daten.

Widerstandsfähigkeit

Aufgrund seines architektonischen Designs ist Aurora widerstandsfähiger als RDS. Es erholt sich schnell von Ausfällen. Wenn ein Rechenknoten abstürzt, kann Aurora schnell wiederhergestellt werden.

Lagerung

Die automatische RDS-Speicherskalierung skaliert die Speicherkapazität auf 64 TiB (mit Ausnahme der 16 TiB von SQL Server), um wachsende Datenbank-Workloads zu bewältigen. Es gibt keine Ausfallzeiten.

Aurora erhöht den Speicher automatisch, indem es ihn von mindestens 10 GB auf maximal 128 TiB erhöht. Der Speicherplatz wird in 10-GB-Schritten ohne Auswirkung auf die Datenbankleistung erhöht.

Skalierbarkeit

Vertikale Skalierung: RDS und Aurora ermöglichen es Ihnen, Arbeitsspeicher und Rechenressourcen auf maximal 244 GiB RAM und 32 virtuelle CPUs zu skalieren. In Sekundenschnelle können Sie den Betrieb skalieren.

Aurora Auto Scaling Dynamic: Aurora Auto Scaling passt dynamisch an, wie viele Aurora-Replikate für einen Aurora-DB-Cluster verfügbar sind, indem eine Single-Master-Replikation verwendet wird. RDS unterstützt solches Auto Scaling NICHT.

  So drucken Sie Fotos ganz einfach auf Ihrem Mac

Reproduzieren

RDS kann verwendet werden, um bis zu fünf Replikate bereitzustellen. Der Replikationsprozess ist auch langsamer als bei Aurora.

Aurora kann bis zu 15 Replikate bereitstellen, und die Replikation dauert nur wenige Sekunden. Aurora skaliert schneller, da es schnell neue Lesereplikate hinzufügen kann.

Ausfallsicherung

In RDS erfolgt das Failover zum Lesen des Replikats manuell. Dies könnte zu Datenverlust führen. Multi-AZ (Standby Instance) kann verwendet werden, um Failover zu automatisieren und Datenverlust zu verhindern.

Um Datenverlust zu vermeiden, verwendet Aurora Failover, um Replikate automatisch zu lesen. Aurora hat eine schnellere Failover-Zeit.

Cluster-Endpunkte

RDS verfügt über einen Clusterendpunkt, den Sie zum Ausführen Ihrer Schreibabfragen verwenden können. Es ist der DNS-Zeiger auf Ihre aktuelle Master-Datenbankinstanz. RDS leitet den Endpunkt während eines Failovers über eine einfache DNS-Änderung an den neuen Master weiter.

Der Cluster-Endpunkt ist weiterhin in Aurora zum Schreiben von Abfragen verfügbar. Dieser Endpunkt fungiert auch als Load Balancer für Ihre Lesereplikationen. Dieser Endpunkt kann verwendet werden, um Ihre Leseabfragen zu beantworten.

Sicherung

RDS erstellt und speichert automatisch Backups Ihrer DB-Instances während des Backup-Fensters Ihrer DB-Instance. RDS erstellt einen Snapshot Ihrer DB-Instance als Speichervolume und sichert alle Datenbanken und nicht nur die von Ihnen ausgewählten.

Aurora sichert Cluster-Volumes automatisch und stellt Daten für die Dauer der Aufbewahrungsfrist der Sicherung wieder her. Aurora-Backups sind kontinuierlich und inkrementell, sodass Sie jeden Punkt innerhalb der Backup-Aufbewahrungsfrist schnell wiederherstellen können.

Nachfolgend finden Sie die zusammengefasste Tabelle für Amazon Aurora im Vergleich zu Amazon RDS:

Amazon AuroraAmazon RDSSie können den Speicher von 10 GB auf 64 GBR erweitern. DS erlaubt 64 GB für alle Engines, aber nur 16 GB für SQL-Server SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL und Amazon AuroraUnterstützt fünfzehn ReplikateUnterstützt fünf ReplikatePreis hängt von E/A-Vorgängen abSie können es kostenlos ohne Mindestnutzungsgebühr testen

Amazon Aurora vs. DynamoDB

Haltbarkeit und Verfügbarkeit

Jedes Stück DynamoDB-Daten wird auf mehrere physische Knoten repliziert. Amazon hat diese physischen Knoten in mehreren Zonen (auch als Verfügbarkeitszonen bezeichnet) platziert, um eine hohe Haltbarkeit und Verfügbarkeit im Falle einer Katastrophe wie einem Feuer oder einem größeren Stromausfall zu gewährleisten. Der Vorgang wird auch dann fortgesetzt, wenn eine Kopie ausfällt. SSDs sind außerdem sehr zuverlässig und langlebig.

Sicherungen und Wiederherstellung

DynamoDB bietet ein On-Demand-Backup sowie PITR (Point-in-Time-Backups), mit denen Sie auf jeden Datenbankstatus zugreifen können. DynamoDB ist in der Lage, beliebige Datenmengen zu sichern. Leistung und Verfügbarkeit werden nicht beeinträchtigt. Die Sicherung nimmt sehr wenig Zeit in Anspruch, und Benutzer müssen sich keine Gedanken über Sicherungszeitpläne oder Hintergrundprozesse machen. AWS ermöglicht die Wiederherstellung von Backups mit nur einem API-Aufruf.

Der Sicherungsvorgang von Amazon Aurora ähnelt DynamoDB. Es wurde ohne Leistungsunterbrechungen oder Unterbrechungen des Datenbankdienstes erstellt. Amazon-Backups werden in einem S3-Bucket gespeichert. Aurora erstellt automatisch ein Backup von 30 Minuten, wenn wir kein Backup-Fenster angeben.

Zugangskontrolle

DynamoDB unterstützt IAM-Benutzer und -Rollen mit fein abgestuften Richtlinien, die die Datenbankerstellung und Abfrageberechtigungen einschränken. Amazon Aurora hat auch ein ähnliches Berechtigungsschema.

Aurora bietet jedoch auch MySQL- und PostgreSQL-kompatible Verbindungsschnittstellen, um eine Verbindung zur Datenbank herzustellen.

DynamoDB, ein regionaler Dienst, unterliegt nicht der VPC-Grenze. Aurora-DB-Cluster müssen jedoch in einer VPC eingerichtet werden, die ihre Netzwerkgrenze klar definiert. Sie können die VPC-Sicherheitsgruppen auch verwenden, um zu steuern, welche Geräte oder Amazon EC2-Instances sich mit der Datenbank-Instance verbinden dürfen.

Nachfolgend finden Sie die zusammengefasste Tabelle für Amazon Aurora vs. DynamoDB:

Amazon AuroraDynamoDBDie relationale Datenbank mit Unterstützung für MySQL und PostgreSQLNoSQL-DatenbankMulti-Region, Single-MasterMulti-Region, Multi-MasterReplikat kann in einer Minute zum primären hochgestuft werdenHohe VerfügbarkeitReplikationslatenz beträgt weniger als 1 SekundeReplikationslatenz beträgt weniger als eine Millisekunde

Fazit

Das war es. Wir alle treten in eine neue Ära relationaler Datenbanken ein, und Aurora ist nur der Anfang. Die Kunden haben mit überwältigender Zustimmung reagiert. Führende Unternehmen in allen Branchen – wie Capital One, Dow Jones, Netflix und Verizon – migrieren ihre relationalen Datenbank-Workloads zu Aurora, einschließlich MySQL- und PostgreSQL-kompatibler Editionen.