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 abwägen, wenn Sie Ihre Entscheidung treffen.
Themen
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 alle 24 Stunden zwischen den Kapazitätsmodi wechseln. Die einzige Ausnahme besteht darin, dass Sie, wenn Sie eine Tabelle mit dem Modus bereitgestellter Kapazität in den On-Demand-Modus ändern, innerhalb desselben Zeitraums von 24 Stunden wieder in den Modus bereitgestellter Kapazität wechseln können.
On-Demand-Kapazitätsmodus
Der On-Demand-Kapazitätsmodus ist so konzipiert, dass Sie die Kapazität Ihrer DynamoDB-Tabelle nicht mehr planen oder bereitstellen müssen. 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
Der Modus für bereitgestellte Kapazität ist ein traditionelleres Modell, bei dem Sie entweder direkt oder mithilfe von Auto Scaling definieren müssen, wie viel Kapazität die Tabelle für Anfragen zur Verfügung hat. Da für die Tabelle zu jedem Zeitpunkt eine bestimmte Kapazität bereitgestellt wird, basiert die Abrechnung auf der bereitgestellten Gesamtkapazität und nicht auf der Anzahl der verbrauchten Anfragen. 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 „Bereitgestellte Kapazität“ erfordert eine ständige Überwachung, um ein Gleichgewicht zwischen einer zu hohen und einer unzureichenden Bereitstellung der Tabelle zu finden, um sowohl die Drosselung gering als auch die Kosten niedrig zu halten.
Fälle, in denen der On-Demand-Modus ausgewählt werden sollte
Bei der Kostenoptimierung ist der On-Demand-Modus die beste Wahl, wenn Sie eine Arbeitslast haben, die den folgenden Grafiken ähnelt.
Die folgenden Faktoren bestimmen diese Art von Workload:
-
Verkehrsmuster, das sich im Laufe der Zeit weiterentwickelt
-
Variables Volumen der Anforderungen (aufgrund von Batch-Workloads)
-
Unvorhersehbares Timing der Anforderungen (dadurch Datenverkehrsspitzen)
-
Sinkt für eine bestimmte Stunde auf Null oder unter 30% des Spitzenwerts
![Grafiken für unvorhersehbare, variable Arbeitsbelastungen mit Spitzenbelastungen und Perioden geringer Aktivität.](images/choose-on-demand-1.png)
![Grafiken für unvorhersehbare, variable Arbeitsbelastungen mit Spitzenbelastungen und Perioden geringer Aktivität.](images/choose-on-demand-2.png)
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. Der On-Demand-Kapazitätsmodus ist die bessere Wahl, da er schwankenden Datenverkehr bewältigen kann, ohne dass Sie die Kapazität vorhersagen 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. Ihnen wird pro verbrauchter Lese- oder Schreibanforderung in Rechnung gestellt, sodass Ihre Kosten direkt Ihre tatsächliche Nutzung widerspiegeln, sodass Sie Kosten und Leistung leicht in Einklang bringen 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ärindizes konfigurieren, um Kosten und Nutzung in Grenzen zu halten. 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 mit bereitgestellter Kapazität ist ein Workload mit einem stabileren und vorhersehbareren Nutzungsmuster wie in der folgenden Grafik.
Anmerkung
Wir empfehlen, die Kennzahlen in einem bestimmten Zeitraum, z. B. nach 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:
-
Kontinuierlicher, vorhersehbarer und zyklischer Verkehr für eine bestimmte Stunde oder einen bestimmten Tag
-
Begrenzte kurzfristige Verkehrsausbrüche
![Grafik, die eine vorhersehbare, zyklische Arbeitslast mit begrenzten Verkehrsspitzen darstellt.](images/choose-provisioned-1.png)
Da das Datenverkehrsvolumen innerhalb einer bestimmten Stunde oder eines Tages stabiler ist, können Sie die bereitgestellte Kapazität der Tabelle relativ nahe 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 vorhersagen können und die Kostenvorhersehbarkeit der Steuerung 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 überprovisioniert und Sie müssen das Verhältnis zwischen der Anzahl der Drosselungen und den übermäßig bereitgestellten Kapazitätseinheiten genau an Ihre Workload-Anforderungen anpassen.
![DynamoDB-Konsole. Bereitgestellte Kapazität und Auto Scaling sind aktiviert. Die Zielauslastung ist auf 70 festgelegt.](images/CostOptimization/TableCapacityModeAutoScaling.png)
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.
Nutzung der bereitgestellten Kapazität
Um festzustellen, wann der On-Demand-Modus weniger kosten würde als die bereitgestellte Kapazität, ist es hilfreich, sich Ihre bereitgestellte Kapazitätsauslastung anzusehen. 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 bereitgestellte Kapazitätsauslastung unter 35% liegt. In vielen Fällen kann es sogar für Workloads mit einer bereitgestellten Kapazitätsauslastung von mehr als 35% kostengünstiger sein, den On-Demand-Modus zu verwenden, insbesondere wenn der Workload Phasen geringer Aktivität und gelegentliche Spitzenwerte 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 günstiger sein, eine relativ unvorhersehbare Arbeitslast auszuführen, während die Ausführung auf einer Tabelle mit überdimensionierter Kapazität und reservierter Kapazität günstiger sein kann.
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