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.
Themen
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.
Themen
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 zweiLOCAL_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 verwendenLOCAL_QUORUM
oderLOCAL_ONE
lesen möchten. Zum Lesen einer 8-KB-Zeile sind beispielsweise 2 RRUs mitLOCAL_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 zweiLOCAL_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
oderLOCAL_ONE
lesen möchten. Wenn Ihre Zeilengröße beispielsweise 8 KB beträgt, benötigen Sie 2 RCUs, um einenLOCAL_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.