Evaluieren Sie den Kapazitätsmodus Ihrer DynamoDB-Tabelle - Amazon-DynamoDB

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.

Evaluieren Sie den Kapazitätsmodus Ihrer DynamoDB-Tabelle

In diesem Abschnitt erhalten Sie einen Überblick darüber, wie Sie den geeigneten Kapazitätsmodus für Ihre DynamoDB-Tabelle auswählen. Jeder Modus ist auf die Anforderungen einer anderen Workload abgestimmt, sowohl was die Reaktionsfähigkeit auf Durchsatzänderungen, als auch was die Abrechnung der Nutzung anbelangt. Sie müssen diese Faktoren bei Ihrer Entscheidung abwägen.

Verfügbare Tabellenkapazitätsmodi

Beim Erstellen einer DynamoDB-Tabelle müssen Sie entweder den On-Demand-Kapazitätsmodus oder den Modus bereitgestellter Kapazität auswählen. Sie können einmal alle 24 Stunden zwischen den Lese-/Schreib-Kapazitätsmodi wechseln. Die einzige Ausnahme ist, wenn Sie eine Tabelle im Bereitstellungsmodus in den On-Demand-Modus umschalten: Sie können im gleichen Zeitraum von 24 Stunden wieder in den Bereitstellungsmodus wechseln.

On-Demand-Kapazitätsmodus

Der On-Demand-Kapazitätsmodus ist so konzipiert, dass die Kapazität Ihrer DynamoDB-Tabelle nicht mehr geplant oder bereitgestellt werden muss. In diesem Modus bewältigt Ihre Tabelle Anforderungen an die Tabelle sofort, ohne dass Ressourcen hoch- oder herunterskaliert werden müssen (bis zum Zweifachen des vorherigen Spitzendurchsatzes der Tabelle).

Für die Abrechnung von On-Demand-Tabellen wird die Zahl der tatsächlichen Anforderungen an die Tabelle gezählt. Sie zahlen also nur für das, was Sie nutzen, und nicht für das, was bereitgestellt wurde.

Modus bereitgestellter Kapazität

Der Modus für bereitgestellte Kapazität ist ein traditionelleres Modell, bei dem Sie entweder direkt oder mithilfe von Auto Scaling definieren können, wie viel Kapazität die Tabelle für Anfragen zur Verfügung hat. Da zu jedem Zeitpunkt eine bestimmte Kapazität für die Tabelle bereitgestellt wird, basiert die Abrechnung auf der bereitgestellten Kapazität und nicht auf der Anzahl der Anforderungen. Wenn die zugewiesene Kapazität überschritten wird, kann dies zudem dazu führen, dass die Tabelle Anforderungen ablehnt und die Erfahrung Ihrer Anwendungsbenutzer beeinträchtigt wird.

Der Modus bereitgestellter Kapazität erfordert eine Balance zwischen einer Über- und Unterbereitstellung von Kapazität für die Tabelle, damit es nur zu einer geringen Drosselung kommt und die Kosten optimiert werden können.

Fälle, in denen der On-Demand-Modus ausgewählt werden sollte

Im Hinblick auf die Kostenoptimierung ist der On-Demand-Modus die beste Wahl, wenn Sie eine ähnliche Workload wie in der folgenden Grafik haben.

Die folgenden Faktoren bestimmen diese Art von Workload:

  • Unvorhersehbares Timing der Anforderungen (dadurch Datenverkehrsspitzen)

  • Variables Volumen der Anforderungen (aufgrund von Batch-Workloads)

  • Rückgang auf Null oder unter 18 % des Spitzenwerts zu einer bestimmten Stunde (aufgrund von Entwicklungs- oder Testumgebungen)

Diagramm für unvorhersehbare, variable Arbeitslasten mit Spitzen und Perioden geringer Aktivität.

Bei Workloads mit den oben genannten Faktoren führt die Verwendung von Auto Scaling, um genügend Kapazität auf dem Tisch aufrechtzuerhalten, um auf Datenverkehrsspitzen reagieren zu können, wahrscheinlich dazu, dass die Tabelle zu viel bereitgestellt wird und mehr kostet als nötig, oder dass die Tabelle zu wenig bereitgestellt wird und Anfragen unnötig gedrosselt werden.

Da für On-Demand-Tabellen Lese- und Schreibanforderungen in Rechnung gestellt werden, zahlen Sie nur pay-per-request für das, was Sie tatsächlich nutzen, sodass Kosten und Leistung leicht in Einklang gebracht werden können. Optional können Sie auch den maximalen Lese- oder Schreibdurchsatz (oder beides) pro Sekunde für einzelne On-Demand-Tabellen und globale sekundäre Indizes konfigurieren, um Kosten und Nutzung in Grenzen zu halten. Weitere Informationen finden Sie unter Maximaler DynamoDB-Durchsatz für On-Demand-Tabellen. Sie sollten Ihre On-Demand-Tabellen regelmäßig auswerten, um sicherzustellen, dass die oben genannten Faktoren noch auf die Workload zutreffen. Wenn sich die Workload stabilisiert hat, sollten Sie einen Wechsel in den Modus bereitgestellter Kapazität in Betracht ziehen, um die Kosten weiter zu optimieren.

Fälle, in denen der Modus bereitgestellter Kapazität ausgewählt werden sollte

Eine ideale Workload für den Modus bereitgestellter Kapazität ist eine Workload mit einem besser vorhersehbaren Nutzungsmuster, wie in der folgenden Grafik dargestellt.

Anmerkung

Wir empfehlen, die Kennzahlen in einem bestimmten Zeitraum, z. B. 14 Tagen oder 24 Stunden, zu überprüfen, bevor Sie Maßnahmen in Bezug auf Ihre bereitgestellte Kapazität ergreifen.

Die folgenden Faktoren bestimmen diese Art von Workload:

  • Vorhersagbarer/zyklischer Datenverkehr für eine bestimmte Stunde oder einen bestimmten Tag

  • Begrenzte kurzfristige Datenverkehrsspitzen

Diagramm, das eine vorhersehbare, zyklische Arbeitslast mit begrenzten Traffic-Spitzen darstellt.

Da das Datenverkehrsvolumen zu einer bestimmten Stunde oder an einem bestimmten Tag stabiler ist, können wir die bereitgestellte Kapazität der Tabelle relativ nah an der tatsächlich verbrauchten Kapazität der Tabelle festlegen. Für die Kostenoptimierung einer Tabelle mit bereitgestellter Kapazität geht es letztendlich darum, die bereitgestellte Kapazität (blaue Linie) so nah wie möglich an die verbrauchte Kapazität (orange Linie) heranzuführen, ohne ThrottledRequests für die Tabelle zu erhöhen. Der Abstand zwischen den beiden Linien ist einerseits verschwendete Kapazität, andererseits eine Versicherung gegen eine schlechte Benutzererfahrung aufgrund von Drosselung.

DynamoDB bietet eine automatische Skalierung für Tabellen mit bereitgestellter Kapazität, die dies automatisch für Sie ausgleicht. Auf diese Weise können Sie Ihre verbrauchte Kapazität im Laufe des Tages verfolgen und die Kapazität der Tabelle anhand einiger Variablen festlegen.

DynamoDB-Konsole. Bereitgestellte Kapazität und Auto Scaling sind aktiviert. Die Zielauslastung ist auf 70 festgelegt.
Einheiten für minimale Kapazität

Sie können die Mindestkapazität einer Tabelle festlegen, um die Drosselung zu begrenzen. Die Kosten der Tabelle werden dadurch allerdings nicht reduziert. Wenn es bei Ihrer Tabelle Zeiten geringer Auslastung gibt, gefolgt von einer plötzlichen hohen Auslastung, kann durch Festlegung des Minimums verhindert werden, dass die Tabellenkapazität durch die automatische Skalierung zu niedrig eingestellt wird.

Einheiten für maximale Kapazität

Sie können die maximale Kapazität einer Tabelle festlegen, um zu verhindern, dass eine Tabelle stärker als beabsichtigt skaliert wird. Sie sollten die Anwendung eines Maximums für Entwicklungs- oder Testtabellen in Betracht ziehen, bei denen umfangreiche Lasttests nicht erwünscht sind. Sie können für jede Tabelle ein Maximum festlegen, sollten diese Einstellung jedoch regelmäßig anhand der Tabellen-Baseline bewerten, wenn Sie sie in der Produktion verwenden, um eine versehentliche Drosselung zu verhindern.

Zielauslastung

Die Festlegung einer Zielauslastung der Tabelle ist das primäre Mittel zur Kostenoptimierung für eine Tabelle mit bereitgestellter Kapazität. Wenn Sie hier einen niedrigeren Prozentwert festlegen, kommt es zu einer stärkeren Überbereitstellung für die Tabelle. Dies führt zu höheren Kosten, verringert jedoch das Risiko einer Drosselung. Wenn Sie hier einen höheren Prozentwert festlegen, kommt es zu einer weniger starken Überbereitstellung für die Tabelle. Allerdings erhöht sich das Risiko einer Drosselung.

Zusätzliche Faktoren, die bei der Auswahl eines Tabellenkapazitätsmodus zu berücksichtigen sind

Bei der Entscheidung zwischen den beiden Modi sollten einige zusätzliche Faktoren berücksichtigt werden.

Reservierte Kapazität

Für bereitgestellte Kapazitätstabellen bietet DynamoDB die Möglichkeit, reservierte Kapazität für Ihre Lese- und Schreibkapazität zu erwerben (replizierte Schreibkapazitätseinheiten (RWCU) und Standard-IA-Tabellen sind derzeit nicht berechtigt). Wenn Sie Reservierungen dieser Kapazität erwerben, können Sie die Kosten der Tabelle deutlich senken.

Berücksichtigen Sie bei der Entscheidung zwischen den beiden Tabellenmodi die Auswirkungen dieses zusätzlichen Rabatts auf die Tabellenkosten. In vielen Fällen kann es selbst bei einer relativ unvorhersehbaren Workload günstiger sein, wenn sie in einer überdimensionierten Tabelle mit bereitgestellter Kapazität und mit reservierter Kapazität ausgeführt wird.

Verbessern der Vorhersehbarkeit Ihrer Workload

In einigen Situationen kann eine Workload sowohl ein vorhersehbares als auch ein unvorhersehbares Muster aufweisen. Dies kann zwar leicht mit einer On-Demand-Tabelle unterstützt werden, die Kosten werden jedoch wahrscheinlich niedriger sein, wenn die unvorhersehbaren Muster in der Workload verbessert werden können.

Eine der häufigsten Ursachen für diese Muster sind Batch-Importe. Bei dieser Art von Datenverkehr kann die Basiskapazität der Tabelle oft so weit überschritten werden, dass es bei der Ausführung zu einer Drosselung kommen würde. Um eine Workload wie diese in einer Tabelle mit bereitgestellter Kapazität auszuführen, sollten Sie die folgenden Optionen in Betracht ziehen:

  • Wenn die Batch-Ausführung zu festgelegten Zeiten erfolgt, können Sie vor der Ausführung eine Erhöhung Ihrer Auto-Scaling-Kapazität planen.

  • Wenn die Batch-Ausführung zufällig erfolgt, sollten Sie versuchen, die Ausführungszeit zu verlängern, anstatt eine möglichst schnelle Ausführung anzustreben.

  • Fügen Sie dem Import eine Anlaufphase hinzu, in der die Geschwindigkeit des Imports gering beginnt, aber über einige Minuten langsam erhöht wird, bis Auto Scaling die Möglichkeit hatte, mit der Anpassung der Tabellenkapazität zu beginnen