Datenbankkonfiguration, Sicherung und Ausfallsicherung
Viele Webanwendungen enthalten irgendeine Form von Persistenz, normalerweise in Form einer relationalen oder nicht relationalen Datenbank
Tabelle 1 — Relationale und nicht relationale Datenbanklösungen
Lösungen für relationale Datenbanken | NoSQL-Lösungen | |
---|---|---|
Verwalteter Datenbankdienst |
Amazon RDS for MySQL |
Amazon DynamoDB |
Selbstverwaltet | Hosten eines relationalen Datenbankverwaltungssystems (DBMS) auf einer Amazon EC2-Instance |
Hosten einer nicht relationalen Datenbanklösung auf einer EC2-Instance |
Amazon RDS
Amazon Relational Database Service
Amazon RDS Multi-AZ-Bereitstellungen erhöhen Ihre Datenbankverfügbarkeit und schützen Ihre Datenbank vor ungeplanten Ausfällen. Amazon RDS Read Replicas bieten schreibgeschützte Replikate Ihrer Datenbank, sodass Sie über die Kapazität einer einzelnen Datenbankbereitstellung hinaus für leseintensive Datenbank-Workloads skalieren können. Wie bei allen AWS-Services sind keine Vorabinvestitionen erforderlich, und Sie zahlen nur für die Ressourcen, die Sie nutzen.
Hosten eines relationalen Datenbankverwaltungssystems (RDBMS) auf einer Amazon EC2-Instance
Zusätzlich zum verwalteten Amazon RDS-Angebot können Sie RDBMS Ihrer Wahl (wie MySQL, Oracle, SQL Server oder DB2) auf einer EC2-Instance installieren und selbst verwalten. AWS-Kunden, die eine Datenbank auf Amazon EC2 hosten, verwenden erfolgreich eine Vielzahl von Primär-/Standby- und Replikationsmodellen, einschließlich Spiegelung für schreibgeschützte Kopien und Protokollversand für immer einsatzbereite passive Slaves.
Wenn Sie Ihre eigene Datenbanksoftware direkt in Amazon EC2 verwalten, sollten Sie auch die Verfügbarkeit von fehlertolerantem und beständigem Speicher in Betracht ziehen. Zu diesem Zweck empfehlen wir, dass Datenbanken, die auf Amazon EC2 ausgeführt werden, Amazon Elastic Block Store
Für EC2-Instances, die eine Datenbank ausführen, sollten Sie alle Datenbankdaten und Protokolle auf EBS-Volumes platzieren. Diese bleiben auch dann verfügbar, wenn der Datenbank-Host ausfällt. Diese Konfiguration ermöglicht ein einfaches Failover-Szenario, in dem eine neue EC2-Instance gestartet werden kann, wenn ein Host ausfällt, und die vorhandenen EBS-Volumes an die neue Instance angehängt werden können. Die Datenbank kann dann dort weitermachen, wo sie aufgehört hat.
EBS-Volumes bieten automatisch Redundanz innerhalb der Availability Zone. Wenn die Leistung eines einzelnen EBS-Volumes für die Anforderungen Ihrer Datenbanken nicht ausreicht, kann Striping auf Volumes angewendet werden, um die Leistung von Eingabe-/Ausgabevorgängen pro Sekunde (IOPS) für Ihre Datenbank zu erhöhen.
Für anspruchsvolle Workloads können Sie auch EBS-bereitgestellte IOPS verwenden, in denen Sie die erforderlichen IOPS angeben. Wenn Sie Amazon RDS verwenden, verwaltet der Dienst seinen eigenen Speicher, sodass Sie sich auf die Verwaltung Ihrer Daten konzentrieren können.
Nicht-relationale Datenbanken
AWS unterstützt nicht nur relationale Datenbanken, sondern bietet auch eine Reihe verwalteter, nicht relationaler Datenbanken:
-
Amazon DynamoDB
ist ein vollständig verwalteter NoSQL-Datenbank-Service, der schnelle und planbare Leistung mit nahtloser Skalierbarkeit bereitstellt. Mit derAWS Management Console oder der DynamoDB-API können Sie die Kapazität ohne Ausfallzeiten oder Leistungseinbußen nach oben oder unten skalieren. Mit Amazon DynamoDB lagern Sie die administrativen Aufgaben in Bezug auf Betrieb und Skalierung verteilter Datenbanken an AWS aus. So müssen Sie sich keine Gedanken um die Bereitstellung von Hardware, um deren Einrichtung und Konfiguration, um die Replikation, um Software-Patches oder um die Cluster-Skalierung machen. -
Amazon DocumentDB
(mit MongoDB -Kompatibilität) ist ein Datenbankservice, der speziell für die Verwaltung von JSON-Daten in großem Umfang entwickelt wurde, vollständig verwaltet und in AWS integriert ist und eine hohe Beständigkeit für Unternehmen bietet. -
Amazon Keyspaces
(für Apache Cassandra ) ist ein skalierbarer, hochverfügbarer und verwalteter Apache Cassandra-kompatibler Datenbankservice. Mit Amazon Keyspaces können Sie Ihre Cassandra-Workloads in AWS mit demselben Anwendungscode und denselben Entwicklertools ausführen, die Sie heute verwenden. -
Amazon Neptune
ist ein schneller, zuverlässiger, vollständig verwalteter Graph-Datenbankservice, mit dem es ganz einfach ist, Anwendungen zu erstellen und auszuführen, die mit stark verbundenen Datensätzen arbeiten. Der Kern von Amazon Neptune ist eine speziell entwickelte, hochleistungsfähige Graph-Datenbankengine, die für die Speicherung von Milliarden von Beziehungen und die Abfrage des Graphen mit einer Latenzzeit im Millisekundenbereich optimiert ist. -
Amazon Quantum Ledger Database (Amazon QLDB)
(QLDB) ist eine vollständig verwaltete Ledger-Datenbank, die ein transparentes, unveränderliches und kryptografisch überprüfbares Transaktionsprotokoll im Besitz eines zentralen vertrauenswürdigen Ausstellers bereitstellt. QLDB kann verwendet werden, um jede einzelne Änderung der Anwendungsdaten zu verfolgen, und führt eine vollständige und überprüfbare Historie der Änderungen im Laufe der Zeit. -
Amazon Timestream
ist ein schneller, skalierbarer und serverloser Zeitreihen-Datenbankservice für IoT und Betriebsanwendungen, der die Speicherung und Analyse von Billionen Ereignissen pro Tag ermöglicht – bis zu tausendfach schneller und bis zu einem Zehntel der Kosten im Vergleich mit relationalen Datenbanken.
Darüber hinaus können Sie Amazon EC2 verwenden, um andere nicht relationale Datenbanktechnologien zu hosten, mit denen Sie möglicherweise arbeiten.