DynamoDB – Modus mit bereitgestellter Kapazität - 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.

DynamoDB – Modus mit bereitgestellter Kapazität

Wenn Sie eine neue bereitgestellte Tabelle in DynamoDB erstellen, müssen Sie ihre bereitgestellte Durchsatzkapazität angeben. Dies ist der Umfang des Lese- und Schreibdurchsatzes, der von der Tabelle unterstützt werden kann. Die Abrechnung erfolgt auf der Grundlage der von Ihnen bereitgestellten stündlichen Lese- und Schreibkapazität. Sie basiert nicht darauf, wie viel von der bereitgestellten Kapazität Sie tatsächlich verbraucht haben.

Da sich Ihre Anwendungsdaten und Zugriffsanforderungen ändern, müssen Sie möglicherweise die Durchsatzeinstellungen der Tabelle anpassen. Die bereitgestellte Kapazität Ihrer Tabelle kann mithilfe von Auto Scaling als Reaktion auf Datenverkehrsänderungen automatisch angepasst werden. DynamoDB Auto Scaling verwendet eine Skalierungsrichtlinie in Application Auto Scaling. Um Auto Scaling in DynamoDB zu konfigurieren, legen Sie zusätzlich zum Zielauslastungsprozentsatz die Mindest- und Höchstwerte der Lese- und Schreibkapazität fest. Application Auto Scaling erstellt und verwaltet die CloudWatch Alarme, die Skalierungsereignisse auslösen, wenn die Metrik vom Ziel abweicht. Auto Scaling überwacht die Aktivität Ihrer Tabelle und passt ihre Kapazitätseinstellungen basierend auf vorkonfigurierten Schwellenwerten nach oben oder unten an. Auto Scaling wird ausgelöst, wenn Ihre verbrauchte Kapazität für zwei aufeinanderfolgende Minuten die konfigurierte Zielauslastung überschreitet. CloudWatch Alarme können eine kurze Verzögerung von bis zu einigen Minuten haben, bevor sie die auto Skalierung auslösen. Weitere Informationen finden Sie unter Automatische Verwaltung der Durchsatzkapazität mit DynamoDB-Auto-Scaling.

Wenn Sie DynamoDB-Auto-Scaling verwenden, werden die Durchsatzeinstellungen automatisch, entsprechend der tatsächlichen Workloads, angepasst. Sie können auch die UpdateTable-Operation verwenden, um die Durchsatzkapazität der Tabelle manuell anzupassen. Dafür können Sie sich beispielsweise entscheiden, wenn Sie Daten per Massenladevorgang aus einem vorhandenen Datenspeicher in die neue DynamoDB-Tabelle übertragen müssen. Sie könnten die Tabelle mit einer Einstellung für einen großen Schreibdurchsatz erstellen und anschließend diese Einstellung, nachdem das Massenladen der Daten beendet ist, reduzieren.

Anmerkung

Standardmäßig schützt DynamoDB Sie vor unbeabsichtigter, unkontrollierter Nutzung. Um die Durchsatzgrenzen von 40 000 Lese- und Schreibvorgängen auf Tabellenebene für alle Tabellen in Ihrem Konto zu überschreiten, können Sie eine Erhöhung dieses Kontingents anfordern. Durchsatzanforderungen, die das standardmäßige Durchsatzkontingent der Tabelle überschreiten, werden gedrosselt. Weitere Informationen finden Sie unter Standardkontingente für den Durchsatz.

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.

Weitere Informationen zum Wechseln zwischen Lese- und Schreibkapazitätsmodus finden Sie unter Überlegungen beim Umstellen der Kapazitätsmodi in DynamoDB.

Lesekapazitätseinheiten und Schreibkapazitätseinheiten

Für Tabellen im bereitgestellten Modus geben Sie die Durchsatzanforderungen in Form von Kapazitätseinheiten an. Diese Einheiten stellen die Datenmenge dar, die Ihre Anwendung zum Lesen oder Schreiben pro Sekunde benötigt. Sie können diese Einstellungen später bei Bedarf ändern oder DynamoDB-Auto-Scaling aktivieren, um sie automatisch zu ändern.

Für ein Elemente mit einer Größe von bis zu 4 KB entspricht eine Leseanforderungseinheit (RCU) einem strikt konsistenten Lesevorgang pro Sekunde oder zwei letztendlich konsistenten Lesevorgängen pro Sekunde. Weitere Informationen über die DynamoDB-Lesekonsistenzmodelle finden Sie unter DynamoDB-Lesekonsistenz.

Eine Schreibkapazitätseinheit (WCU) stellt einen Schreibvorgang pro Sekunde für ein Element mit einer Größe von bis zu 1 KB dar. Weitere Informationen über die verschiedenen Lese- und Schreibvorgänge finden Sie unter Lese- und Schreibvorgänge in DynamoDB.

Auswählen der ersten Durchsatzeinstellungen

Für jede Anwendung gelten unterschiedliche Anforderungen für Lese- und Schreibvorgänge in einer Datenbank. Wenn Sie die ersten Durchsatzeinstellungen für eine DynamoDB-Tabelle festlegen, berücksichtigen Sie Folgendes:

  • Erwartete Lese- und Schreibanforderungsraten – Sie müssen die Anzahl der Lese- und Schreibvorgänge schätzen, die Sie pro Sekunde ausführen müssen.

  • Größe der Elemente – Einige Elemente sind so klein, dass sie mit einer einzigen Kapazitätseinheit gelesen oder geschrieben werden können. Größere Elemente erfordern mehrere Kapazitätseinheiten. Durch die Schätzung der durchschnittlichen Größe der Elemente in der Tabelle können Sie genaue Einstellungen für den bereitgestellten Durchsatz der Tabelle angeben.

  • Anforderungen an die Lesekonsistenz – Lesekapazitätseinheiten basieren auf strikt konsistenten Lesevorgängen, die doppelt so viele Datenbankressourcen verbrauchen wie letztendlich konsistente Lesevorgänge. Sie müssen selbst entscheiden, ob Ihre Anwendung Strongly Consistent-Lesevorgänge erfordert oder ob sie diese Anforderung lockern kann und stattdessen Eventually Consistent-Lesevorgänge verwendet. Lesevorgänge in DynamoDB sind standardmäßig letztendlich konsistent. Sofern erforderlich, können Sie strikt konsistente Lesevorgänge für diese Operationen anfordern.

Angenommen, Sie möchten 80 Elemente pro Sekunde aus einer Tabelle lesen. Die Elemente haben eine Größe von 3 KB und Sie benötigen strikt konsistente Lesevorgänge. In diesem Szenario ist für jeden Lesevorgang eine bereitgestellte Lesekapazitätseinheit erforderlich. Um die entsprechende Zahl zu bestimmen, teilen Sie die Elementgröße der Operation durch 4 KB. Runden Sie dann auf die nächste ganze Zahl auf, wie im folgenden Beispiel dargestellt:

  • 3 KB / 4 KB = 0,75 oder 1 Lesekapazitätseinheit

Um also 80 Elemente pro Sekunde aus einer Tabelle zu lesen, legen Sie den bereitgestellten Lesedurchsatz der Tabelle auf 80 Lesekapazitätseinheiten fest, wie im folgenden Beispiel gezeigt:

  • 1 Lesekapazitätseinheit pro Element × 80 Lesevorgänge pro Sekunde = 80 Lesekapazitätseinheiten

Nehmen wir jetzt an, Sie möchten 100 Elemente pro Sekunde in Ihre Tabelle schreiben und die Elemente haben jeweils eine Größe von 512 Byte. In diesem Fall ist für jeden Schreibvorgang eine bereitgestellte Schreibkapazitätseinheit erforderlich. Um die entsprechende Zahl zu bestimmen, teilen Sie die Elementgröße der Operation durch 1 KB. Runden Sie dann auf die nächste ganze Zahl auf, wie im folgenden Beispiel dargestellt:

  • 512 Byte / 1 KB = 0,5 oder 1 Schreibkapazitätseinheit

Um 100 Elemente pro Sekunde in Ihre Tabelle zu schreiben, legen Sie den bereitgestellten Schreibdurchsatz der Tabelle auf 100 Schreibkapazitätseinheiten fest:

  • 1 Schreibkapazitätseinheit pro Element × 100 Schreibvorgänge pro Sekunde = 100 Schreibkapazitätseinheiten

DynamoDB Auto Scaling

DynamoDB Auto Scaling verwaltet die bereitgestellte Durchsatzkapazität für Tabellen und globale sekundäre Indizes. Mit Auto Scaling definieren Sie einen Bereich (Unter- und Obergrenze) für Lese- und Schreibkapazitätseinheiten. Außerdem legen Sie einen Zielauslastungsprozentsatz in diesem Bereich fest. DynamoDB-Auto-Scaling versucht, Ihre Zielauslastung aufrechtzuerhalten, auch wenn der Workload Ihrer Anwendung steigt oder sinkt.

Mit Auto Scaling von DynamoDB kann eine Tabelle oder ein globaler sekundärer Index ihre bereitgestellte Lese- und Schreibkapazität erhöhen, um plötzliche Erhöhungen des Datenverkehrs ohne Anforderungsdrosselung zu bewältigen. Wenn die Workload abnimmt, kann Auto Scaling von DynamoDB den Durchsatz verringern, sodass Sie nicht für ungenutzte bereitgestellte Kapazität bezahlen.

Anmerkung

Wenn Sie den verwenden AWS-Managementkonsole , um eine Tabelle oder einen globalen sekundären Index zu erstellen, ist DynamoDB Auto Scaling standardmäßig aktiviert.

Sie können die Auto Scaling-Einstellungen jederzeit mithilfe der Konsole AWS CLI, der oder einer der verwalten AWS SDKs. Weitere Informationen finden Sie unter Automatische Verwaltung der Durchsatzkapazität mit DynamoDB-Auto-Scaling.

Nutzungsrate

Mithilfe der Nutzungsrate können Sie feststellen, ob Sie die zu viel Kapazität bereitstellen. In diesem Fall sollten Sie die Kapazität Ihrer Tabelle reduzieren, um Kosten zu sparen. Umgekehrt kann sie mit der Nutzungsrate auch feststellen, ob Sie zu wenig Kapazität bereitstellen. In diesem Fall sollten Sie die Tabellenkapazität erhöhen, um eine mögliche Drosselung von Anforderung bei Instances mit unerwartet hohem Datenverkehr zu verhindern. Weitere Informationen finden Sie unter Amazon DynamoDB auto scaling: Performance and cost optimization at any scale.

Wenn Sie DynamoDB Auto Scaling verwenden, müssen Sie auch einen Zielauslastungsprozentsatz festlegen. Auto Scaling verwendet diesen Prozentsatz als Ziel, um die Kapazität nach oben oder unten anzupassen. Wir empfehlen, die Zielauslastung auf 70 % festzulegen. Weitere Informationen finden Sie unter Automatische Verwaltung der Durchsatzkapazität mit DynamoDB-Auto-Scaling.