View a markdown version of this page

PERF04-BP04 Wählen des Datenspeichers nach Zugriffsmuster - AWS Well-Architected Framework

PERF04-BP04 Wählen des Datenspeichers nach Zugriffsmuster

Legen Sie anhand der Zugriffsmuster des Workloads und der Anforderungen der Anwendungen fest, welche Datenservices und Technologien am besten geeignet sind.

Gewünschtes Ergebnis: Der Datenspeicher wurde auf Basis von identifizierten und dokumentierten Datenzugriffsmustern ausgewählt. Hierzu gehören die gängigsten Lese-, Schreib und Löschabfragen, die Notwendigkeit von Kalkulationen und Aggregationen nach Bedarf, die Komplexität von Daten, die Abhängigkeiten zwischen Daten und die erforderlichen Konsistenzanforderungen.

Typische Anti-Muster:

  • Sie wählen nur eine Datenbank-Engine aus, um die Betriebsverwaltung zu vereinfachen.

  • Sie gehen davon aus, dass Datenzugriffsmuster im Laufe der Zeit konsistent bleiben.

  • Sie implementieren komplexe Transaktionen, Rollback und Konsistenzlogik in der Anwendung.

  • Die Datenbank ist konfiguriert, um potenzielle Datenverkehrsspitzen zu unterstützen, was dazu führt, dass die Datenbankressourcen die meiste Zeit nicht genutzt werden.

  • Es wird eine gemeinsame Datenbank für Transaktions- und Analysezwecke verwendet.

Vorteile der Festlegung von bewährten Methoden: Wenn Sie Ihren Datenspeicher auf der Grundlage von Zugriffsmustern auswählen und optimieren, hilft dies, die Entwicklungskomplexität zu verringern und Ihre Leistungsmöglichkeiten zu optimieren. Wenn Ihnen klar ist, wann Lesereplikate, globale Tabellen, Datenpartitionierung und Caching verwendet werden sollten, hilft Ihnen dies, den Betriebsaufwand zu verringern und basierend auf Ihren Workload-Anforderungen zu skalieren.

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: mittel

Implementierungsleitfaden

Identifizieren und evaluieren Sie Ihre Datenzugriffsmuster, um die richtige Speicherkonfiguration auszuwählen. Jede Datenbanklösung bietet Optionen zur Konfigurierung und Optimierung Ihrer Speicherlösung. Verwenden Sie die erfassten Metriken und Protokolle und experimentieren Sie mit den Optionen, um die optimale Konfiguration zu finden. Verwenden Sie die nachfolgende Tabelle, um die Speicheroptionen nach Datenbankservice zu prüfen.

AWS Services Amazon RDS Amazon Aurora Amazon DynamoDB Amazon DocumentDB Amazon ElastiCache Amazon Neptune Amazon Timestream Amazon Keyspaces Amazon QLDB
Scaling Storage Storage can be scaled up manually or configured to scale automatically to a maximum of 64 TiB based on engine types. Provisioned storage cannot be decreased. Storage scales automatically up to maximum of 128 TiB and decreases when data is removed. Maximum storage size also depends upon specific Aurora MySQL or Aurora Postgres engine versions. Storage automatically scales. Tables are unconstrained in terms of size. Storage scales automatically up to maximum of 64 TiB. Starting Amazon DocumentDB 4.0 storage can decrease by comparable amounts for data removal through dropping a collection or index. With Amazon DocumentDB 3.6 allocated space remains same and free space is reused when data volume increases. Storage is in-memory, tied to instance type or count. Storage scales automatically can grow up to 128 TiB (or 64 TiB in few Regions). Upon data removal from, total allocated space remains same and is reused in the future. Organizes your time series data to optimize query processing and reduce storage costs. Retention period can be configured through in-memory and magnetic tiers. Scales table storage up and down automatically as your application writes, updates, and deletes data. Storage automatically scales. Tables are unconstrained in terms of size.

Implementierungsschritte:

  1. Machen Sie sich die Anforderungen in Bezug auf Transaktionen, AKID-Compliance (Atomizität, Konsistenz, Isolation und Dauerhaftigkeit) und konsistente Lesevorgänge bewusst. Nicht jede Datenbank unterstützt dies und die meisten NoSQL-Datenbanken bieten ein Modell für eventuelle Konsistenz.

  2. Berücksichtigen Sie die Datenverkehrsmuster, Latenz und Zugriffsanforderungen für eine global verteilte Anwendung, um die optimale Speicherlösung zu ermitteln.

  3. Analysieren Sie Abfragemuster, zufällige Zugriffsmuster und einmalige Abfragen. Überlegungen zu hochspezialisierten Abfragefunktionen für die Verarbeitung von Text und natürlicher Sprache, Zeitreihendatenbanken und Diagrammen sollten ebenfalls in Betracht gezogen werden.

  4. Ermitteln und dokumentieren Sie das antizipierte Wachstum von Daten und Datenverkehr.

    1. Amazon RDS und Aurora unterstützen eine automatische Speicherskalierung bis hin zu dokumentierten Grenzen. Erwägen Sie darüber hinaus, ältere Daten für die Archivierung an Amazon S3 zu übertragen, historische Daten für Analyseverfahren zu aggregieren oder unter Verwendung von Sharding horizontal zu skalieren.

    2. DynamoDB und Amazon S3 skalieren automatisch auf ein nahezu unbegrenztes Speichervolumen.

    3. Amazon RDS-Instances und Datenbanken, die auf EC2 ausgeführt werden, können manuell in ihrer Größe angepasst werden und zu EC2-Instances können später neue EBS-Volumes hinzugefügt werden, um zusätzlichen Speicher zu erhalten. 

    4. Instance-Typen können auf Basis von Aktivitätsänderungen geändert werden. Sie können beispielsweise mit einer kleineren Instance starten, während Sie Tests durchführen, und die Instance dann skalieren, wenn allmählich Produktionsdatenverkehr im Service eingeht. Aurora Serverless V2 skaliert automatisch als Reaktion auf Lastveränderungen. 

  5. Erstellen Sie eine Baseline der Anforderungen in Bezug auf normale Leistung und Spitzenleistung (Transaktionen pro Sekunde (TPS) und Abfragen pro Sekunde (QPS)) sowie Kohärenz (AKID und eventuelle Kohärenz).

  6. Dokumentieren Sie Bereitstellungsaspekte der Lösung und die Anforderungen an den Datenbankzugriff (wie z. B. globale Replikation, Multi-AZ, Lesereplikation und mehrere Schreibknoten).

Grad des Aufwands für den Implementierungsplan: niedrig Wenn Sie keine Protokolle oder Metriken für Ihre Datenverwaltungslösung haben, müssen Sie sich zunächst darum kümmern, bevor Sie Ihre Datenzugriffsmuster identifizieren und dokumentieren. Sobald Sie Ihr Datenzugriffsmuster verstanden haben, bedeutet es nur einen geringen Aufwand, Ihren Datenspeicher auszuwählen und zu konfigurieren.

Ressourcen

Zugehörige Dokumente:

Zugehörige Videos:

Zugehörige Beispiele: