Unterstützte Lese- und Schreibkonsistenzstufen von Apache Cassandra und damit verbundene Kosten - 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.

Unterstützte Lese- und Schreibkonsistenzstufen von Apache Cassandra und damit verbundene Kosten

Die Themen in diesem Abschnitt beschreiben, welche Apache Cassandra-Konsistenzstufen für Lese- und Schreibvorgänge in Amazon Keyspaces (für Apache Cassandra) unterstützt werden.

Konsistenzstufen für Schreibvorgänge

Amazon Keyspaces repliziert alle Schreibvorgänge dreimal in mehreren Availability Zones, um Haltbarkeit und hohe Verfügbarkeit zu gewährleisten. Schreibvorgänge werden dauerhaft gespeichert, bevor sie anhand der Konsistenzstufe bestätigt werden. LOCAL_QUORUM Für jeden Schreibvorgang mit 1 KB wird Ihnen 1 Schreibkapazitätseinheit (WCU) für Tabellen im Bereitstellungsmodus oder 1 Schreibanforderungseinheit (WRU) für Tabellen im On-Demand-Modus in Rechnung gestellt.

Sie können cqlsh damit die Konsistenz für alle Abfragen in der aktuellen Sitzung so einstellen, dass sie den folgenden Code LOCAL_QUORUM verwenden.

CONSISTENCY LOCAL_QUORUM;

Um die Konsistenzstufe programmgesteuert zu konfigurieren, können Sie die Konsistenz mit den entsprechenden Cassandra-Clienttreibern festlegen. Mit den Java-Treibern der Version 4.x können Sie beispielsweise die Konsistenzstufe in der app config Datei wie unten gezeigt festlegen.

basic.request.consistency = LOCAL_QUORUM

Wenn Sie einen Java-Cassandra-Treiber der Version 3.x verwenden, können Sie die Konsistenzstufe für die Sitzung angeben, indem Sie sie hinzufügen, .withQueryOptions(new QueryOptions().setConsistencyLevel(ConsistencyLevel.LOCAL_QUORUM) wie im folgenden Codebeispiel gezeigt.

Session session = Cluster.builder() .addContactPoint(endPoint) .withPort(portNumber) .withAuthProvider(new SigV4AuthProvider("us-east-2")) .withSSL() .withQueryOptions(new QueryOptions().setConsistencyLevel(ConsistencyLevel.LOCAL_QUORUM) .build() .connect();

Um die Konsistenzstufe für bestimmte Schreiboperationen zu konfigurieren, können Sie die Konsistenz definieren, wenn Sie bei der Verwendung des Java-Treibers QueryBuilder.insertInto mit einem setConsistencyLevel Argument aufrufen.

Lesen Sie die Konsistenzstufen

Amazon Keyspaces unterstützt drei Lesekonsistenzstufen: ONELOCAL_ONE, undLOCAL_QUORUM. Während eines LOCAL_QUORUM Lesevorgangs gibt Amazon Keyspaces eine Antwort zurück, die die neuesten Aktualisierungen aller vorherigen erfolgreichen Schreibvorgänge wiedergibt. Die Verwendung der Konsistenzstufe ONE oder LOCAL_ONE kann die Leistung und Verfügbarkeit Ihrer Leseanfragen verbessern, aber die Antwort spiegelt möglicherweise nicht die Ergebnisse eines kürzlich abgeschlossenen Schreibvorgangs wider.

Pro 4 KB Lesegeschwindigkeit ONE oder LOCAL_ONE Konsistenz werden Ihnen 0,5 Lesekapazitätseinheiten (RCUs) für Tabellen mit bereitgestellter Kapazität oder 0,5 Leseanforderungseinheiten (RRUs) für Tabellen, die den On-Demand-Modus verwenden, in Rechnung gestellt. Für jeden 4 KB Lesevorgang im LOCAL_QUORUM Konsistenzmodus wird Ihnen 1 Lesekapazitätseinheit (RCU) für Tabellen im Bereitstellungskapazitätsmodus oder 1 Leseanforderungseinheit (RRU) für Tabellen im On-Demand-Modus in Rechnung gestellt.

Die Abrechnung basiert auf Lesekonsistenz und Lesekapazitätsdurchsatzmodus pro Tabelle für jeweils 4 KB Lesevorgänge
Konsistenzgrad Bereitgestellt On-Demand-Modus
ONE 0,5 CCUs 0,5 RUs
LOCAL_ONE 0,5 RCUs 0,5 RUs
LOCAL_QUORUM 1 RCU 1 RRU

Um eine andere Konsistenz für Lesevorgänge anzugeben, rufen Sie QueryBuilder.select mit einem setConsistencyLevel Argument auf, wenn Sie den Java-Treiber verwenden.

Konsistenzstufen werden nicht unterstützt

Die folgenden Konsistenzstufen werden von Amazon Keyspaces nicht unterstützt und führen zu Ausnahmen.

Konsistenzstufen werden nicht unterstützt
Apache Cassandra Amazon Keyspaces
EACH_QUORUM Nicht unterstützt
QUORUM Nicht unterstützt
ALL Nicht unterstützt
TWO Nicht unterstützt
THREE Nicht unterstützt
ANY Nicht unterstützt
SERIAL Nicht unterstützt
LOCAL_SERIAL Nicht unterstützt