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