Lese-/Schreibkapazitätsmodi in Amazon Keyspaces - Amazon Keyspaces (für Apache Cassandra)

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.

Lese-/Schreibkapazitätsmodi in Amazon Keyspaces

Amazon Keyspaces verfügt über zwei Lese-/Schreibkapazitätsmodi für die Verarbeitung von Lese- und Schreibvorgängen in Ihren Tabellen:

  • Auf Abruf (Standard)

  • Bereitgestellt

Der von Ihnen gewählte Lese-/Schreibkapazitätsmodus steuert, wie Ihnen der Lese- und Schreibdurchsatz in Rechnung gestellt wird und wie die Tabellendurchsatzkapazität verwaltet wird.

On-Demand-Kapazitätsmodus

Der On-Demand-Kapazitätsmodus von Amazon Keyspaces (für Apache Cassandra) ist eine flexible Abrechnungsoption, mit der Tausende von Anfragen pro Sekunde ohne Kapazitätsplanung bearbeitet werden können. Diese Option bietet pay-per-request Preise für Lese- und Schreibanfragen, sodass Sie nur für das bezahlen, was Sie tatsächlich nutzen.

Wenn Sie den On-Demand-Modus wählen, kann Amazon Keyspaces die Durchsatzkapazität für Ihre Tabelle sofort auf jedes zuvor erreichte Datenverkehrsniveau hochskalieren und dann wieder herunterfahren, wenn der Anwendungsverkehr abnimmt. Wenn der Traffic eines Workloads einen neuen Höhepunkt erreicht, passt sich der Service schnell an, um die Durchsatzkapazität für Ihre Tabelle zu erhöhen. Sie können den On-Demand-Kapazitätsmodus sowohl für neue als auch für bestehende Tabellen aktivieren.

Der On-Demand-Modus ist eine gute Option, wenn eine der folgenden Bedingungen zutrifft:

  • Sie erstellen neue Tabellen mit unbekannten Workloads.

  • Der Datenverkehr Ihrer Anwendung ist nicht berechenbar.

  • Sie ziehen es vor, nur für Ihre tatsächliche Nutzung zu zahlen.

Um mit dem On-Demand-Modus zu beginnen, können Sie mithilfe der Konsole oder mit einigen Zeilen Cassandra Query Language (CQL) -Code eine neue Tabelle erstellen oder eine vorhandene Tabelle aktualisieren, um den On-Demand-Kapazitätsmodus zu verwenden. Weitere Informationen finden Sie unter Tabellen.

Leseanforderungseinheiten und Schreibanforderungseinheiten

Bei Tabellen im On-Demand-Kapazitätsmodus müssen Sie nicht im Voraus angeben, wie viel Lese- und Schreibdurchsatz Ihre Anwendung voraussichtlich verwenden soll. Amazon Keyspaces berechnet Ihnen die Lese- und Schreibvorgänge, die Sie an Ihren Tabellen durchführen, in Form von Read Request Units (RRUs) und WRITE Request Units (WRUs).

  • Eine RRU steht für eine LOCAL_QUORUM Leseanforderung oder zwei LOCAL_ONE Leseanforderungen für eine Zeile mit einer Größe von bis zu 4 KB. Wenn Sie eine Zeile lesen müssen, die größer als 4 KB ist, verwendet der Lesevorgang zusätzliche RRUs. Die Gesamtzahl der erforderlichen RRUs hängt von der Zeilengröße und davon ab, ob Sie Konsistenz verwenden LOCAL_QUORUM oder LOCAL_ONE lesen möchten. Zum Lesen einer 8-KB-Zeile sind beispielsweise 2 RRUs mit LOCAL_QUORUM Lesekonsistenz und 1 RRU erforderlich, wenn Sie Lesekonsistenz wählenLOCAL_ONE.

  • Eine WRU steht für einen Schreibvorgang für eine Zeile mit einer Größe von bis zu 1 KB. Bei allen Schreibvorgängen wird LOCAL_QUORUM Konsistenz verwendet, und es fallen keine zusätzlichen Gebühren für die Verwendung von Lightweight Transactions (LWTs) an. Wenn Sie eine Zeile schreiben müssen, die größer als 1 KB ist, verwendet der Schreibvorgang zusätzliche WRUs. Die Gesamtzahl der benötigten WRUs hängt von der Zeilengröße ab. Wenn Ihre Zeilengröße beispielsweise 2 KB beträgt, benötigen Sie 2 WRUs, um eine Schreibanforderung auszuführen.

Informationen zu den unterstützten Konsistenzstufen finden Sie unterUnterstützte Lese- und Schreibkonsistenzstufen von Apache Cassandra und damit verbundene Kosten.

Spitzenaufkommen an Datenverkehr und Skalierungseigenschaften

Amazon Keyspaces-Tabellen, die den On-Demand-Kapazitätsmodus verwenden, passen sich automatisch an das Datenverkehrsvolumen Ihrer Anwendung an. Der On-Demand-Kapazitätsmodus passt sich sofort an bis zu das Doppelte des vorherigen Höchststands des Datenverkehrs für eine Tabelle an. Beispielsweise kann das Datenverkehrsmuster Ihrer Anwendung zwischen 5.000 und 10.000 LOCAL_QUORUM Lesevorgängen pro Sekunde variieren, wobei 10.000 Lesevorgänge pro Sekunde die vorherige Verkehrsspitze sind.

Bei diesem Muster ermöglicht der On-Demand-Kapazitätsmodus sofort einen anhaltenden Datenverkehr von bis zu 20.000 Lesevorgängen pro Sekunde. Wenn Ihre Anwendung einen Datenverkehr von 20.000 Lesevorgängen pro Sekunde aushält, wird dieser Spitzenwert zu Ihrem neuen vorherigen Spitzenwert, sodass der nachfolgende Datenverkehr bis zu 40.000 Lesevorgänge pro Sekunde erreichen kann.

Wenn Sie mehr als das Doppelte Ihres vorherigen Spitzenwerts in einer Tabelle benötigen, weist Amazon Keyspaces automatisch mehr Kapazität zu, wenn Ihr Verkehrsaufkommen steigt. Dadurch wird sichergestellt, dass Ihre Tabelle über genügend Durchsatzkapazität verfügt, um die zusätzlichen Anfragen zu verarbeiten. Sie können jedoch Fehler mit unzureichender Durchsatzkapazität feststellen, wenn Sie innerhalb von 30 Minuten das Doppelte Ihres vorherigen Spitzenwerts überschreiten.

Nehmen wir beispielsweise an, dass das Datenverkehrsmuster Ihrer Anwendung zwischen 5.000 und 10.000 stark konsistenten Lesevorgängen pro Sekunde variiert, wobei 20.000 Lesevorgänge pro Sekunde die zuvor erreichte Verkehrsspitze sind. In diesem Fall empfiehlt der Service, dass Sie Ihr Traffic-Wachstum über mindestens 30 Minuten verteilen, bevor Sie bis zu 40.000 Lesevorgänge pro Sekunde erreichen.

Informationen zur Schätzung des Lese- und Schreibkapazitätsverbrauchs einer Tabelle finden Sie unterSo schätzen Sie den Kapazitätsverbrauch des Lese- und Schreibdurchsatzes in Amazon Keyspaces ab.

Weitere Informationen zu Standardkontingenten für Ihr Konto und deren Erhöhung finden Sie unterKontingente für Amazon Keyspaces (für Apache Cassandra).

Anfänglicher Durchsatz für den On-Demand-Kapazitätsmodus

Wenn Sie eine neue Tabelle mit aktiviertem On-Demand-Kapazitätsmodus erstellen oder eine bestehende Tabelle zum ersten Mal in den On-Demand-Kapazitätsmodus wechseln, weist die Tabelle die folgenden vorherigen Spitzeneinstellungen auf, obwohl sie zuvor keinen Datenverkehr im On-Demand-Kapazitätsmodus bedient hat:

  • Neu erstellte Tabelle mit On-Demand-Kapazitätsmodus: Der bisherige Spitzenwert lag bei 2.000 WRUs und 6.000 RRUs. Sie können den vorherigen Spitzenwert sofort auf das Doppelte erhöhen. Auf diese Weise können neu erstellte On-Demand-Tabellen bis zu 4.000 WRUs und 12.000 RRUs verarbeiten.

  • Bestehende Tabelle wurde in den On-Demand-Kapazitätsmodus umgeschaltet: Der vorherige Spitzenwert entspricht der Hälfte der zuvor für die Tabelle bereitgestellten WCUs und RCUs oder den Einstellungen für eine neu erstellte Tabelle mit On-Demand-Kapazitätsmodus, je nachdem, welcher Wert höher ist.

Bereitgestellter Durchsatzkapazitätsmodus

Wenn Sie den Modus Bereitgestellte Durchsatzkapazität wählen, geben Sie die Anzahl der Lese- und Schreibvorgänge pro Sekunde an, die für Ihre Anwendung erforderlich sind. Auf diese Weise können Sie Ihre Amazon Keyspaces-Nutzung so verwalten, dass sie bei oder unter einer bestimmten Anforderungsrate bleibt, um den Preis zu optimieren und die Planbarkeit aufrechtzuerhalten. Weitere Informationen zur automatischen Skalierung für den bereitgestellten Durchsatz finden Sie unter. Automatische Verwaltung der Durchsatzkapazität mit Amazon Keyspaces Auto Scaling

Der Kapazitätsmodus für bereitgestellten Durchsatz ist eine gute Option, wenn eine der folgenden Bedingungen zutrifft:

  • Der Datenverkehr Ihrer Anwendung ist berechenbar.

  • Sie führen Anwendungen aus, deren Datenverkehr konsistent ist oder schrittweise zunimmt.

  • Sie können den Kapazitätsbedarf prognostizieren, um den Preis zu optimieren.

Lesekapazitätseinheiten und Schreibkapazitätseinheiten

Für bereitgestellte Durchsatzkapazitätsmodus-Tabellen geben Sie die Durchsatzkapazität in Form von Lesekapazitätseinheiten (RCUs) und Schreibkapazitätseinheiten (WCUs) an:

  • Eine RCU entspricht einem LOCAL_QUORUM Lesevorgang pro Sekunde oder zwei LOCAL_ONE Lesevorgängen pro Sekunde für eine Zeile mit einer Größe von bis zu 4 KB. Wenn Sie eine Zeile lesen müssen, die größer als 4 KB ist, verwendet der Lesevorgang zusätzliche RCUs.

    Die Gesamtzahl der erforderlichen RCUs hängt von der Zeilengröße und davon ab, ob Sie lesen LOCAL_QUORUM oder LOCAL_ONE lesen möchten. Wenn Ihre Zeilengröße beispielsweise 8 KB beträgt, benötigen Sie 2 RCUs, um einen LOCAL_QUORUM Lesevorgang pro Sekunde durchzuführen, und 1 RCU, wenn Sie Lesevorgänge wählen. LOCAL_ONE

  • Eine WCU entspricht einem Schreibvorgang pro Sekunde für eine Zeile mit einer Größe von bis zu 1 KB. Bei allen Schreibvorgängen wird LOCAL_QUORUM Konsistenz verwendet, und es fallen keine zusätzlichen Gebühren für die Verwendung von Lightweight Transactions (LWTs) an. Wenn Sie eine Zeile schreiben müssen, die größer als 1 KB ist, verwendet der Schreibvorgang zusätzliche WCUs.

    Die Gesamtzahl der benötigten WCUs hängt von der Zeilengröße ab. Wenn Ihre Zeilengröße beispielsweise 2 KB beträgt, benötigen Sie 2 WCUs, um eine Schreibanforderung pro Sekunde aufrechtzuerhalten. Weitere Hinweise zur Schätzung des Lese- und Schreibkapazitätsverbrauchs einer Tabelle finden Sie unterSo schätzen Sie den Kapazitätsverbrauch des Lese- und Schreibdurchsatzes in Amazon Keyspaces ab.

Wenn Ihre Anwendung größere Zeilen liest oder schreibt (bis zur maximalen Zeilengröße von Amazon Keyspaces von 1 MB), verbraucht sie mehr Kapazitätseinheiten. Weitere Informationen zur Schätzung der Zeilengröße finden Sie unter. Berechnung der Zeilengröße in Amazon Keyspaces Angenommen, Sie erstellen eine bereitgestellte Tabelle mit 6 RCUs und 6 WCUs. Mit diesen Einstellungen hat Ihre Anwendung folgende Möglichkeiten:

  • Führen Sie LOCAL_QUORUM Lesevorgänge mit bis zu 24 KB pro Sekunde (4 KB × 6 RCUs) durch.

  • Führen Sie LOCAL_ONE Lesevorgänge mit bis zu 48 KB pro Sekunde durch (doppelt so viel Lesedurchsatz).

  • Schreiben Sie bis zu 6 KB pro Sekunde (1 KB × 6 WCUs).

Der bereitgestellte Durchsatz ist die maximale Menge an Durchsatzkapazität, die eine Anwendung aus einer Tabelle verbrauchen kann. Wenn Ihre Anwendung die bereitgestellte Durchsatzkapazität überschreitet, treten möglicherweise Fehler bei unzureichender Kapazität auf.

Beispielsweise schlägt eine Leseanforderung, die nicht über genügend Durchsatzkapazität verfügt, mit einer Read_Timeout Ausnahme fehl und wird der ReadThrottleEvents Metrik zugewiesen. Eine Schreibanforderung, die nicht über genügend Durchsatzkapazität verfügt, schlägt mit einer Write_Timeout Ausnahme fehl und wird der WriteThrottleEvents Metrik zugewiesen.

Sie können Amazon verwenden CloudWatch , um Ihre bereitgestellten und tatsächlichen Durchsatzmetriken sowie Ereignisse mit unzureichender Kapazität zu überwachen. Weitere Informationen zu diesen Metriken finden Sie unter Amazon Keyspaces-Metriken und Dimensionen.

Anmerkung

Wiederholte Fehler aufgrund unzureichender Kapazität können zu clientseitigen treiberspezifischen Ausnahmen führen, z. B. schlägt der DataStax Java-Treiber mit einem fehl. NoHostAvailableException

Um die Durchsatzkapazitätseinstellungen für Tabellen zu ändern, können Sie die Anweisung AWS Management Console oder die ALTER TABLE Anweisung mithilfe von CQL verwenden. Weitere Informationen finden Sie unter. ALTER TABLE

Weitere Informationen zu Standardkontingenten für Ihr Konto und deren Erhöhung finden Sie unterKontingente für Amazon Keyspaces (für Apache Cassandra).

Kapazitätsmodi verwalten und anzeigen

Sie können die Systemtabelle im Amazon Keyspaces-Systemschlüsselraum abfragen, um Informationen zum Kapazitätsmodus einer Tabelle zu überprüfen. Sie können auch sehen, ob eine Tabelle den On-Demand-Durchsatzkapazitätsmodus oder den bereitgestellten Durchsatzkapazitätsmodus verwendet. Wenn die Tabelle mit dem Modus „Bereitgestellte Durchsatzkapazität“ konfiguriert ist, können Sie die für die Tabelle bereitgestellte Durchsatzkapazität sehen.

Beispiel

SELECT * from system_schema_mcs.tables where keyspace_name = 'mykeyspace' and table_name = 'mytable';

Eine Tabelle, die mit dem On-Demand-Kapazitätsmodus konfiguriert ist, gibt Folgendes zurück.

{ 'capacity_mode': { 'last_update_to_pay_per_request_timestamp': '1579551547603', 'throughput_mode': 'PAY_PER_REQUEST' } }

Eine mit dem Modus „Bereitgestellte Durchsatzkapazität“ konfigurierte Tabelle gibt Folgendes zurück.

{ 'capacity_mode': { 'last_update_to_pay_per_request_timestamp': '1579048006000', 'read_capacity_units': '5000', 'throughput_mode': 'PROVISIONED', 'write_capacity_units': '6000' } }

Der last_update_to_pay_per_request_timestamp Wert wird in Millisekunden gemessen.

Um die bereitgestellte Durchsatzkapazität für eine Tabelle zu ändern, verwenden Sie. ALTER TABLE

Überlegungen beim Ändern der Kapazitätsmodi

Wenn Sie eine Tabelle vom Bereitstellungskapazitätsmodus in den On-Demand-Kapazitätsmodus wechseln, nimmt Amazon Keyspaces mehrere Änderungen an der Struktur Ihrer Tabelle und Partitionen vor. Dieser Vorgang kann einige Minuten dauern. Während der Umstellungsphase liefert Ihre Tabelle einen Durchsatz, der den zuvor bereitgestellten WCU- und RCU-Mengen entspricht.

Wenn Sie vom On-Demand-Kapazitätsmodus zurück in den Modus mit bereitgestellter Kapazität wechseln, liefert Ihre Tabelle einen Durchsatz, der dem vorherigen Spitzenwert entspricht, der erreicht wurde, als die Tabelle in den On-Demand-Kapazitätsmodus versetzt wurde.

Anmerkung

Sie können den Kapazitätsmodus nur einmal innerhalb von 24 Stunden vom Bereitstellungs- zum On-Demand-Kapazitätsmodus wechseln.