PERF03-BP02 Evaluieren Sie die verfügbaren Konfigurationsoptionen für den Datenspeicher - AWS Well-Architected Framework

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

PERF03-BP02 Evaluieren Sie die verfügbaren Konfigurationsoptionen für den Datenspeicher

Machen Sie sich mit den verschiedenen Features und Konfigurationsoptionen vertraut, die für Ihre Datenspeicher verfügbar sind, und bewerten Sie sie, um Speicherplatz und Leistung für Ihre Workload zu optimieren.

Typische Anti-Muster:

  • Sie verwenden nur einen Speichertyp, z. B. AmazonEBS, für alle Workloads.

  • Sie verwenden Provisioned IOPS für alle Workloads, ohne dass reale Tests für alle Speicherstufen erforderlich sind.

  • Ihnen fehlt das Bewusstsein für die Wahl der Konfigurationsoptionen der Datenverwaltungslösung.

  • Sie verlassen sich ausschließlich auf das Vergrößern der Instance-Größe, ohne andere verfügbare Konfigurationsoptionen in Betracht zu ziehen.

  • Sie testen die Skalierungsoptionen Ihres Datenspeichers nicht.

Vorteile der Nutzung dieser bewährten Methode: Indem Sie Datenspeicherkonfigurationen erkunden und mit ihnen experimentieren, können Sie möglicherweise Infrastrukturkosten senken, die Leistung verbessern und den Aufwand zur Verwaltung Ihrer Workloads verringern.

Risikostufe bei fehlender Befolgung dieser bewährten Methode: Mittel

Implementierungsleitfaden

Für eine Workload können je nach Datenspeicher- und Zugriffsanforderungen ein oder mehrere Datenspeicher verwendet werden. Zur Optimierung der Leistungseffizienz und Kosten müssen Sie Datenzugriffsmuster auswerten, um die entsprechenden Datenspeicherkonfigurationen zu bestimmen. Während Sie die Datenspeicheroptionen erkunden, sollten Sie unterschiedliche Aspekte in Betracht ziehen. Dazu zählen Speicheroptionen, Arbeitsspeicher, Rechenvorgänge, Read Replica, Konsistenzanforderungen, Verbindungs-Pooling und Caching-Optionen. Experimentieren Sie mit diesen unterschiedlichen Konfigurationsoptionen, um Metriken zur Leistungseffizienz zu verbessern.

Implementierungsschritte

  • Verstehen Sie die aktuellen Konfigurationen (wie Instance-Typ, Speichergröße oder Version der Datenbank-Engine) des Datenspeichers.

  • Lesen Sie die AWS Dokumentation und die bewährten Methoden, um mehr über empfohlene Konfigurationsoptionen zu erfahren, mit denen Sie die Leistung Ihres Datenspeichers verbessern können. Die wichtigsten Datenspeicheroptionen, die Sie in Betracht ziehen sollten, sind die folgenden:

    Konfigurationsoption Beispiele
    Auslagern von Lesevorgängen (wie Read Replicas und Caching)
    • Für DynamoDB-Tabellen können Sie Lesevorgänge mithilfe DAX von Caching auslagern.

    • Sie können einen Amazon ElastiCache (RedisOSS) -Cluster erstellen und Ihre Anwendung so konfigurieren, dass sie zuerst aus dem Cache liest und auf die Datenbank zurückgreift, falls das angeforderte Element nicht vorhanden ist.

    • Relationale Datenbanken wie Amazon RDS und Aurora und bereitgestellt Keine SQL Datenbanken wie Neptune und Amazon DocumentDB unterstützen alle das Hinzufügen von Read Replicas, um die gelesenen Teile der Arbeitslast auszulagern.

    • Serverless-Datenbanken wie DynamoDB skalieren automatisch. Stellen Sie sicher, dass Sie über genügend Lesekapazitätseinheiten () RCU verfügen, um die Arbeitslast zu bewältigen.

    Skalieren von Schreibvorgängen (wie Partitionsschlüssel-Sharding oder Einführung einer Warteschlange)
    • Bei relationalen Datenbanken können Sie die Größe der Instanz erhöhen, um einer erhöhten Arbeitslast gerecht zu werden, oder die bereitgestellte Instanz erhöhen, IOPs um einen höheren Durchsatz für den zugrunde liegenden Speicher zu ermöglichen.

    • Sie können vor Ihrer Datenbank auch eine Warteschlange einrichten, anstatt direkt in die Datenbank zu schreiben. Mithilfe dieses Musters können Sie die Datenerfassung von der Datenbank entkoppeln und die Flow-Rate steuern, sodass die Datenbank nicht überwältigt wird. 

    • Das Batching Ihrer Schreibanforderungen, anstatt mehrere kurzlebige Transaktionen zu erstellen, kann Ihnen dabei helfen, den Durchsatz bei relationalen Datenbanken mit hohem Schreibvolumen zu verbessern.

    • Serverlose Datenbanken wie DynamoDB können den Schreibdurchsatz automatisch oder durch Anpassung der bereitgestellten Schreibkapazitätseinheiten (WCU) je nach Kapazitätsmodus skalieren. 

    • Es können immer noch Probleme mit heißen Partitionen auftreten, wenn Sie die Durchsatzgrenzen für einen bestimmten Partitionsschlüssel erreichen. Dies kann verhindert werden, indem Sie einen Partitionsschlüssel auswählen, der gleichmäßiger verteilt ist, oder indem Sie die Schreibvorgänge des Partitionsschlüssels in Shards aufteilen. 

    Richtlinien zum Verwalten des Lebenszyklus von Datensätzen
    • Mit Amazon-S3-Lebenszyklen können Sie Ihre Objekte während ihres gesamten Lebenszyklus verwalten. Wenn die Zugriffsmuster unbekannt oder nicht prognostizierbar sind oder sich ändern, können Sie Amazon S3 Intelligent-Tiering verwenden. Hiermit werden Zugriffsmuster überwacht und Objekte, auf die nicht zugegriffen wurde, automatisch in kostengünstigere Zugriffsebenen verschoben. Anhand der Metriken von Amazon S3 Storage Lens können Sie Optimierungsmöglichkeiten und Lücken im Lebenszyklusmanagement ermitteln.

    • Amazon EFS Lifecycle Management verwaltet automatisch den Dateispeicher für Ihre Dateisysteme.

    Verbindungsmanagement und Pooling
    • Amazon RDS Proxy kann mit Amazon RDS und Aurora verwendet werden, um Verbindungen zur Datenbank zu verwalten. 

    • Serverless-Datenbanken wie DynamoDB haben keine ihnen zugewiesenen Verbindungen, aber ziehen Sie die bereitgestellte Kapazität sowie automatische Skalierungsrichtlinien in Betracht, um Datenverkehrsspitzen zu bewältigen.

  • Führen Sie Experimente und Benchmarking in einer Nicht-Produktionsumgebung durch, um herauszufinden, welche Konfigurationsoption Ihre Workload-Anforderungen erfüllen kann.

  • Nachdem Sie experimentiert haben, planen Sie die Migration und überprüfen Sie die Leistungsmetriken.

  • Verwenden Sie Tools AWS zur Überwachung (wie Amazon CloudWatch) und Optimierung (wie Amazon S3 Storage Lens), um Ihren Datenspeicher kontinuierlich anhand von realen Nutzungsmustern zu optimieren.

Ressourcen

Zugehörige Dokumente:

Zugehörige Videos:

Zugehörige Beispiele: