Auswerten des 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.

Auswerten des 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 Tabellen innerhalb eines fortlaufenden 24-stündigen Zeitfensters bis zu viermal vom Modus mit bereitgestellter Kapazität auf den On-Demand-Modus umstellen. Sie können Tabellen jederzeit vom On-Demand-Modus auf den Modus mit bereitgestellter Kapazität umstellen.

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).

DynamoDB On-Demand bietet pay-per-request Preise für Lese- und Schreibanforderungen, sodass Sie nur für das bezahlen, was Sie tatsächlich nutzen.

Modus bereitgestellter Kapazität

Beim Modus bereitgestellter Kapazität handelt es sich um ein traditionelleres Modell, bei dem Sie entweder direkt oder mithilfe von Auto Scaling festlegen können, wie viel Kapazität die Tabelle für Anforderungen zur Verfügung hat. Da zu jedem Zeitpunkt eine bestimmte Kapazität für die Tabelle bereitgestellt wird, basiert die Abrechnung auf der bereitgestellten Gesamtkapazität und nicht auf der Anzahl der verbrauchten 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 konstante Überwachung, um eine Balance zwischen einer Über- und Unterbereitstellung von Kapazität für die Tabelle zu finden, 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 den folgenden Diagrammen haben.

Die folgenden Faktoren bestimmen diese Art von Workload:

  • Datenverkehrsmuster, das sich im Laufe der Zeit weiterentwickelt

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

  • Unvorhersehbares Timing der Anforderungen (dadurch Datenverkehrsspitzen)

  • Rückgang auf Null oder unter 30 % des Spitzenwerts zu einer bestimmten Stunde

Grafiken für einen unvorhersehbaren, variablen Workload mit Spitzenbelastungen und Zeiten geringer Aktivität Grafiken für einen unvorhersehbaren, variablen Workload mit Spitzenbelastungen und Zeiten geringer Aktivität

Wenn bei Workloads mit den oben genannten Faktoren Auto Scaling verwendet wird, um eine ausreichende Kapazität der Tabelle für Datenverkehrsspitzen aufrechtzuerhalten, führt dies wahrscheinlich zu einer Überbereitstellung und unnötig hohen Kosten oder zu einer Unterbereitstellung und unnötigen Drosselung von Anforderungen. Der On-Demand-Kapazitätsmodus ist die bessere Wahl, da er Datenverkehrsschwankungen bewältigen kann, ohne dass Sie die Kapazität vorhersehen oder anpassen müssen.

Mit dem pay-per-request Preismodell des On-Demand-Modus müssen Sie sich keine Gedanken über ungenutzte Kapazitäten machen, da Sie nur für den Durchsatz zahlen, den Sie tatsächlich nutzen. Die Abrechnung erfolgt pro verbrauchter Lese- oder Schreibanforderung, sodass Ihre Kosten direkt Ihre tatsächliche Nutzung widerspiegeln. So können Sie Kosten und Leistung auf einfache Weise ausgleichen. 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 Nutzen zu begrenzen. Weitere Informationen finden Sie unter Maximaler Durchsatz für On-Demand-Tabellen.

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

Ein idealer Workload für den Modus bereitgestellter Kapazität ist ein Workload mit einem stabileren und besser vorhersehbaren Nutzungsmuster, wie im folgenden Diagramm dargestellt.

Anmerkung

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

Die folgenden Faktoren bestimmen diese Art von Workload:

  • Stetiger, vorhersehbarer und zyklischer Datenverkehr für eine bestimmte Stunde oder einen bestimmten Tag

  • Begrenzte kurzfristige Datenverkehrsspitzen

Diagramm, das einen vorhersehbaren, zyklischen Workload mit begrenzten Datenverkehrsspitzen darstellt.

Da das Datenverkehrsvolumen zu einer bestimmten Stunde oder an einem bestimmten Tag stabiler ist, können Sie 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. Wenn Sie die Durchsatzanforderungen Ihrer Anwendung vorhersehen können und die Kostenvorhersehbarkeit des Kontrollierens der Lese- und Schreibkapazität bevorzugen, sollten Sie weiterhin bereitgestellte Tabellen verwenden.

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. Wenn Sie Auto Scaling verwenden, wird Ihre Tabelle überdimensioniert sein und Sie müssen das Verhältnis zwischen der Anzahl der Drosselungen und den überdimensionierten Kapazitätseinheiten optimieren, um Ihre Workload-Anforderungen zu erfüllen.

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.

Auslastung bereitgestellter Kapazität

Um festzustellen, wann der On-Demand-Modus weniger kosten würde als die bereitgestellte Kapazität, ist es hilfreich, einen Blick auf die Auslastung Ihrer bereitgestellten Kapazität zu werfen. Diese bezieht sich darauf, wie effizient die zugewiesenen (oder „bereitgestellten“) Ressourcen genutzt werden. Der On-Demand-Modus kostet weniger für Workloads, bei denen die durchschnittliche Auslastung der bereitgestellten Kapazität unter 35 % liegt. In vielen Fällen kann es sogar bei Workloads mit einer Auslastung der bereitgestellten Kapazität von mehr als 35 % kostengünstiger sein, den On-Demand-Modus zu verwenden, insbesondere wenn der Workload Phasen geringer Aktivität und gelegentliche Spitzen aufweist.

Reservierte Kapazität

Für Tabellen mit bereitgestellter Kapazität bietet DynamoDB die Möglichkeit, reservierte Kapazität für Ihre Lese- und Schreibkapazität zu erwerben (replicated write capacity units (rWCU, replizierte Schreibkapazitätseinheiten) und Standard-IA-Tabellen sind zurzeit nicht zulässig). Reservierte Kapazität bietet erhebliche Rabatte gegenüber den Standardpreisen für bereitgestellte Kapazität.

Berücksichtigen Sie bei der Entscheidung zwischen den beiden Tabellenmodi die Auswirkungen dieses zusätzlichen Rabatts auf die Tabellenkosten. In einigen Fällen kann es bei einem relativ unvorhersehbaren Workload günstiger sein, ihr in einer überdimensionierten Tabelle mit reservierter Kapazität auszuführen.

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 Anlaufzeit hinzu, wenn der Import langsam beginnt, aber über einige Minuten allmählich schneller wird, bis Auto Scaling die Möglichkeit hatte, mit der Anpassung der Tabellenkapazität zu beginnen.