Niveaux de cohérence en lecture et écriture pris en charge par Apache Cassandra et coûts associés - Amazon Keyspaces (pour Apache Cassandra)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Niveaux de cohérence en lecture et écriture pris en charge par Apache Cassandra et coûts associés

Les rubriques de cette section décrivent les niveaux de cohérence d'Apache Cassandra pris en charge pour les opérations de lecture et d'écriture dans Amazon Keyspaces (pour Apache Cassandra).

Niveaux de cohérence en écriture

Amazon Keyspaces reproduit trois fois toutes les opérations d'écriture sur plusieurs zones de disponibilité pour garantir durabilité et haute disponibilité. Les écritures sont stockées durablement avant d'être reconnues à l'aide du niveau de cohérence LOCAL_QUORUM. Pour chaque écriture de 1 Ko, vous êtes facturé 1 unité de capacité d'écriture (WCU) pour les tables utilisant le mode de capacité allouée ou 1 unité de demande d'écriture (WRU) pour les tables utilisant le mode à la demande.

Vous pouvez cqlsh utiliser le code suivant pour définir la cohérence de toutes les requêtes de la session LOCAL_QUORUM en cours.

CONSISTENCY LOCAL_QUORUM;

Pour configurer le niveau de cohérence par programmation, vous pouvez définir la cohérence avec les pilotes clients Cassandra appropriés. Par exemple, les pilotes Java de la version 4.x vous permettent de définir le niveau de cohérence dans le app config fichier comme indiqué ci-dessous.

basic.request.consistency = LOCAL_QUORUM

Si vous utilisez un pilote Java Cassandra version 3.x, vous pouvez spécifier le niveau de cohérence de la session en ajoutant .withQueryOptions(new QueryOptions().setConsistencyLevel(ConsistencyLevel.LOCAL_QUORUM) comme indiqué dans l'exemple de code suivant.

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

Pour configurer le niveau de cohérence pour des opérations d'écriture spécifiques, vous pouvez définir la cohérence lorsque vous appelez QueryBuilder.insertInto avec un setConsistencyLevel argument lorsque vous utilisez le pilote Java.

Lire les niveaux de cohérence

Amazon Keyspaces prend en charge trois niveaux de cohérence de lecture : ONELOCAL_ONE, et. LOCAL_QUORUM Au cours d'une LOCAL_QUORUM lecture, Amazon Keyspaces renvoie une réponse reflétant les mises à jour les plus récentes issues de toutes les opérations d'écriture réussies. L'utilisation du niveau de cohérence ONE ou LOCAL_ONE peut améliorer les performances et la disponibilité de vos demandes de lecture, mais la réponse peut ne pas refléter les résultats d'une écriture récemment terminée.

Pour chaque lecture de 4 Ko à l'aide de la cohérence ONE ou LOCAL_ONE, vous êtes facturé 0,5 unités de capacité de lecture (RCU) pour les tables utilisant le mode de capacité allouée ou 0,5 unités de demande de lecture (RRU) pour les tables utilisant le mode à la demande. Pour chaque lecture de 4 Ko avec la cohérence LOCAL_QUORUM, vous êtes facturé 1 unité de capacité de lecture (RCU) pour les tables utilisant le mode de capacité allouée ou 1 unité de demande de lecture (RRU) pour les tables utilisant le mode à la demande.

Facturation basée sur la cohérence de lecture et le mode de débit de capacité de lecture par table pour chaque 4 Ko de lecture
Niveau de cohérence Alloué A la demande
ONE 0,5 RCU (Read Capacity Unit, unité de capacité de lecture) 0,5 RRU
LOCAL_ONE 0,5 RCU (Read Capacity Unit, unité de capacité de lecture) 0,5 RRU
LOCAL_QUORUM 1 RCU 1 RRU

Pour spécifier une cohérence différente pour les opérations de lecture, appelez QueryBuilder.select avec un setConsistencyLevel argument lorsque vous utilisez le pilote Java.

Niveaux de cohérence non pris en charge

Les niveaux de cohérence suivants ne sont pas pris en charge par Amazon Keyspaces et entraîneront des exceptions.

Niveaux de cohérence non pris en charge
Apache Cassandra Amazon Keyspaces
EACH_QUORUM Non pris en charge
QUORUM Non pris en charge
ALL Non pris en charge
TWO Non pris en charge
THREE Non pris en charge
ANY Non pris en charge
SERIAL Non pris en charge
LOCAL_SERIAL Non pris en charge