2014-01-29 3 views
12

earlier beta releases of CQ L에는 개별 CQL 작업의 읽기/쓰기 일관성을 설정하는 데 사용할 수있는 명령이 있습니다. 그것은이처럼 보였다 : CQL3에서 개별 CQL 쿼리의 일관성 수준을 어떻게 설정합니까?

SELECT * FROM users WHERE state='TX' USING CONSISTENCY QUORUM;

내가 정기적으로 CQL3를 사용하고 난 우리의 응용 프로그램의 나머지 부분보다 높은 일관성 수준의 읽기를 수행 할 수 있어야 유스 케이스가있다.

CQL3 reference을 살펴본 결과 cqlsh (응용 프로그램 개발에 유용하지 않음)를 사용하지 않는 한 쿼리 단위로 일관성 설정을 변경할 수있는 CQL 구문에 대한 언급이 없습니다.

CQL3을 사용하여 요청별로 일관성을 조정하는 방법은 무엇입니까?

답변

7

아론은 일관성 수준은 프로토콜 수준에서 설정 될 필요하지 않습니다 - 이유가 여기에 설명을 위해 : 다음 실행 다음

CONSISTENCY QUORUM; 

과 : https://issues.apache.org/jira/browse/CASSANDRA-4734

+5

는 특히이 사용중인 드라이버는 어떻게 일관성 수준의 설정 방법을 알려주는 것을 의미합니다. – RussS

18

먼저 실행 명령으로 일관성을 설정 당신은 쿼리 :

어떤 시점에서
SELECT * FROM users WHERE state='TX' 

은 사용 일관성을 확인할 수 있습니다

CONSISTENCY; 
+0

오, 멋지다! 얼마나 오래 전에 추가 되었습니까? – Aaronontheweb

2

모든 쿼리의 기본 일관성 수준은 "ONE"입니다. 그러나 아래와 같이 쿼리 단위로 일관성 수준을 설정할 수 있습니다. Setting Consistency Level

복제 인수에 따라 파티션 (노드 목록)의 위치는 다음과 같습니다.

nodetool의 getendpoints KEYSPACE 이름 테이블 이름 파티션 키 값은

$ nodetool getendpoints stresstest status bill 
10.134.38.15 
10.134.38.24 
10.134.38.26