Dieser Inhalt ist veraltet. Diese Version des Well-Architected Framework finden Sie jetzt unter: https://docs.aws.amazon.com/de_de/wellarchitected/2022-03-31/framework/performance-efficiency.html

PERF 4: Was ist bei der Wahl der Datenbanklösung zu beachten?

Welche Datenbanklösung sich am besten für ein System eignet, hängt von der erforderlichen Verfügbarkeit, Konsistenz, Partitionstoleranz, Latenz, Langlebigkeit, Skalierbarkeit und Abfragefähigkeit ab. Viele Systeme nutzen für verschiedene Untersysteme unterschiedliche Datenbanklösungen und bieten verschiedene Möglichkeiten zur Leistungsoptimierung. Die Wahl der falschen Datenbanklösung und -funktionen kann die Leistungseffizienz eines Systems schmälern.

Ressourcen

AWS purpose-built databases (DAT209-L)
Amazon Aurora storage demystified: How it all works (DAT309-R)
Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)
Cloud Databases with AWS
AWS Database Caching
Amazon DynamoDB Accelerator
Amazon Aurora best practices
Amazon Redshift performance
Amazon Athena top 10 performance tips
Amazon Redshift Spectrum best practices
Amazon DynamoDB best practices

Bewährte Methoden:

Verbesserungsplan

Datenmerkmale verstehen

  • Untersuchen und Dokumentieren von Datenmerkmalen: Bevor Sie sich für eine Datenbanklösung entscheiden, sollten Sie sich mit den funktionalen Anforderungen Ihres Workloads vertraut machen und nachvollziehen, wie der Workload mit Daten interagiert. Überlegen Sie beim Bewerten einer Datenbanklösung, inwieweit sie Ihre Anforderungen erfüllt (etwa mit Blick auf Transaktionen oder Hochverfügbarkeit). Wählen Sie dann die Kombination aus Datenbanken aus, die für Ihren Workload am besten geeignet sind. Bewerten Sie alternative Datenbanken, die Ihren Workload-Anforderungen besser entsprechen könnten. Wenn Sie beispielsweise eine IoT-Anwendung erstellen, kann es besser sein, eine Zeitreihen-Datenbank wie Amazon Timestream auszuwählen, um Billionen von Ereignissen pro Tag zu einem Zehntel der Kosten relationaler Datenbanken einfach zu speichern und zu analysieren.
  • Verfügbare Optionen prüfen

  • Wählen Sie den geeigneten Datenbanktyp für Ihre Workload aus.: In AWS haben Sie die Wahl aus verschiedenen speziell entwickelten Datenbankmodulen, darunter relationale, Schlüssel-Werte-, Dokument-, In-Memory-, Graph-, Zeitreihen- und Ledger-Datenbanken. Das AWS-Portfolio speziell entwickelter Datenbanken unterstützt verschiedene Datenmodelle und ermöglicht es Ihnen, anwendungsorientierte, hochskalierbare und verteilte Anwendungen zu entwickeln. Durch die Auswahl der besten Datenbank zur Lösung eines bestimmten Problems (oder einer Gruppe von Problemen) können Sie sich von restriktiven, einheitlichen monolithischen Datenbanken lösen und sich auf die Entwicklung von Anwendungen konzentrieren, die den Anforderungen Ihres Unternehmens entsprechen.
  • Anforderungen an die Datenbankleistung definieren: Identifizieren Sie die für Ihren Workload relevanten Kennzahlen zur Datenbankleistung und implementieren Sie die Anforderungen im Rahmen eines datengestützten Ansatzes, bei dem Benchmarks und Lasttests zur Anwendung kommen. Ermitteln Sie anhand dieser Daten, an welcher Stelle Ihre Datenbanklösung Defizite hat. Prüfen Sie anschließend die Konfigurationsoptionen, mit denen diese behoben werden könnten.
  • Aktivieren von Datenbank-Caching-Optionen: Bewerten Sie Datenbank-Caching-Optionen wie Amazon ElastiCache for Redis für das Caching relationaler Datenbanken oder Amazon DynamoDB Accelerator (DAX) für einen vollständig verwalteten, hochverfügbaren In-Memory-Cache für DynamoDB. Diese Optionen können sogar bei Millionen von Anforderungen pro Sekunde eine bessere Leistung liefern, in einigen Fällen Mikrosekunden statt Millisekunden.
  • Kennzahlen zur Datenbankleistung erfassen

  • Kennzahlen zur Datenbank erfassen: Konfigurieren Sie Ihre Workload für das Erfassen von Metriken zur Datenbankaktivität. Diese Daten sind von wesentlicher Bedeutung, um festzustellen, wie sich Ihre Datenbanksysteme auf die Gesamtleistung des Workloads auswirken und welche Änderungen für eine verbesserte Leistung und Effizienz erforderlich sind. Sie können Ihre Datenbanksysteme beispielsweise optimieren, indem Sie Datenpunkte einschließlich Abfragezeiten, die Anzahl der Transaktionen, Datenträgernutzung, Indexnutzung oder langsame Abfragen verfolgen.
  • Kennzahlen überwachen: Mit Amazon CloudWatch lassen sich Kennzahlen aus sämtlichen Ressourcen Ihrer Architektur erfassen. Sie können auch benutzerdefinierte Metriken erfassen und veröffentlichen, um geschäftliche oder abgeleitete Metriken zu ermitteln. Richten Sie mit CloudWatch oder mit Lösungen von Drittanbietern Alarme ein, die auf das Überschreiten von Schwellenwerten hinweisen.
  • Datenspeicher nach Zugriffsmuster wählen

  • Verwenden von Zugriffsmustern, um die Datenspeicherung zu bestimmen: Bewerten Sie die Zugriffsmuster Ihrer Workload, um ein geeignetes Datenspeichermuster zu finden. Wenn Ihr Workload beispielsweise Ad-hoc-Abfragezugriff erfordert, können Sie eine relationale Datenbank wie Amazon RDS auswählen. Wenn Ihre Workload von einer hohen Wachstumsrate oder Ereignissen mit hohem Datenverkehr abhängt, sollten Sie eine Schlüsselwertdatenbank wie Amazon DynamoDB wählen.
  • Datenspeicher nach Zugriffsmuster und Kennzahlen wählen

  • Speicher basierend auf Kennzahlen und Mustern optimieren: Verwenden Sie gemeldete Metriken, um Bereiche in Ihrer Workload zu identifizieren und Ihre Datenbankkomponenten zu optimieren. Für jedes Datenbanksystem müssen eigene Leistungsmerkmale in Betracht gezogen werden, etwa das Verfahren, mit dem Daten indiziert, in den Cache gelesen oder auf mehrere Systeme verteilt werden. Messen Sie die Auswirkungen Ihrer Optimierungen.