Amazon Keyspaces에서 지원되는 Apache Cassandra 일관성 수준 - Amazon Keyspaces(Apache Cassandra용)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Keyspaces에서 지원되는 Apache Cassandra 일관성 수준

이 섹션의 항목에서는 Amazon Keyspaces(Apache Cassandra용)에서 읽기 및 쓰기 작업에 대해 지원되는 Apache Cassandra 일관성 수준에 대해 설명합니다.

쓰기 일관성 수준

Amazon Keyspaces는 내구성과 고가용성을 위해 여러 가용 영역에 모든 쓰기 작업을 세 번 복제합니다. 쓰기는 LOCAL_QUORUM 일관성 수준을 사용하여 승인되기 전에 안정적으로 저장됩니다. 1KB 쓰기당 프로비저닝된 용량 모드를 사용하는 테이블에는 1WCU(쓰기 용량 단위), 온디맨드 모드를 사용하는 테이블에는 1WRU(쓰기 요청 단위)가 청구됩니다.

cqlsh을 사용하면 다음 코드를 사용하여 현재 세션의 모든 쿼리에 대한 일관성을 LOCAL_QUORUM로 설정할 수 있습니다.

CONSISTENCY LOCAL_QUORUM;

일관성 수준을 프로그래밍 방식으로 구성하려면 적절한 Cassandra 클라이언트 드라이버를 사용하여 일관성을 설정할 수 있습니다. 예를 들어 4.x 버전 Java 드라이버를 사용하면 아래와 같이 app config 파일에 정합성 수준을 설정할 수 있습니다.

basic.request.consistency = LOCAL_QUORUM

3.x 버전 Java Cassandra 드라이버를 사용하는 경우 다음 코드 예제와 같이 .withQueryOptions(new QueryOptions().setConsistencyLevel(ConsistencyLevel.LOCAL_QUORUM) 을 추가하여 세션의 일관성 수준을 지정할 수 있습니다.

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

특정 쓰기 작업에 대한 일관성 수준을 구성하려면 Java 드라이버를 사용할 때 setConsistencyLevel 인수를 사용하여 QueryBuilder.insertInto를 호출할 때의 일관성을 정의하면 됩니다.

읽기 일관성

Amazon Keyspaces는 세 가지 읽기 일관성 수준(ONE, LOCAL_ONE, LOCAL_QUORUM)을 지원합니다. LOCAL_QUORUM 읽기 중에 Amazon Keyspaces는 이전에 성공한 모든 쓰기 작업의 최신 업데이트를 반영하는 응답을 반환합니다. 일관성 수준 ONE 또는 LOCAL_ONE를 사용하면 읽기 요청의 성능과 가용성을 개선할 수 있지만, 응답에 최근 완료된 쓰기 결과가 반영되지 않을 수 있습니다.

ONE 또는 LOCAL_ONE 일관성을 사용하는 읽기 사용량 4KB마다 프로비저닝된 용량 모드를 사용하는 테이블에는 0.5RCU(읽기 용량 단위), 온디맨드 모드를 사용하는 테이블에는 0.5RRU(읽기 요청 단위)가 청구됩니다. LOCAL_QUORUM 일관성을 사용하는 읽기 사용량 4KB마다 프로비저닝된 용량 모드를 사용하는 테이블에는 1RCU(읽기 용량 단위), 온디맨드 모드를 사용하는 테이블에는 1RRU(읽기 요청 단위)가 청구됩니다.

읽기 4KB당 테이블별 읽기 일관성 및 읽기 용량 처리량 모드를 기준으로 요금 청구
일관성 수준 프로비저닝됨 온디맨드
ONE 0.5RCU 0.5RRU
LOCAL_ONE 0.5RCU 0.5RRU
LOCAL_QUORUM 1RCU 1RRU

읽기 작업의 일관성을 다르게 지정하려면 Java 드라이버를 사용할 때 setConsistencyLevel 인수를 사용하여 QueryBuilder.select을 호출합니다.

지원되지 않는 일관성 수준

Amazon Keyspaces에서는 다음과 같은 일관성 수준을 지원하지 않으므로 예외가 발생합니다.

지원되지 않는 일관성 수준
Apache Cassandra Amazon Keyspaces
EACH_QUORUM 지원되지 않음
QUORUM 지원되지 않음
ALL 지원되지 않음
TWO 지원되지 않음
THREE 지원되지 않음
ANY 지원되지 않음
SERIAL 지원되지 않음
LOCAL_SERIAL 지원되지 않음