Consistency Level
Consistency 란?
최근에 데이터 row들이 얼마나 동기화 되었는지 여부
참고, 카산드라는 consistency 보다 availability 에 더 중점
대신 사용 사례에 따라 일관성을 조정 가능
Replication 전략 2 가지 (안정성과 내결함성 보장을 위한)
SimpleStrategy
single 데이터센터와 one rack topology 경우에 사용
NetworkTopologyStrategy
multiple 데이터센터와 multiple racks 경우에 사용
Replication Factor (RF) 란?
클러스터에서 몇개의 노드가 복제본을 저장할 건지 명시하는 것
노드가 fail하면 다른 노드에서 동일한 데이터를 사용할 수 있도록
Level 종류
https://docs.datastax.com/en/drivers/java/2.0/com/datastax/driver/core/ConsistencyLevel.html
Write 에서의 일관성 레벨 역할
데이터 작성자에게 성공여부를 전달하기전 얼마나 많은 복제 노드로 부터 동의를 받아야 하는지
사례
ONE and RF = 3
노드 3 개 중 하나의 복제 노드만이 (성공적인) 쓰기 작업에 대해 승인하더라도 나머지에도 비동기식으로 복제
QUORUM and RF = 5
과반수 이상 (여기선 노드 3개) 으로 부터 쓰기작업이 성공했다고 승인을 받아야됨.
Read 에서의 일관성 레벨 역할
데이터 요청자에게 전달하기전 얼마나 많은 노드에서 복제본을 읽어들여야 하는지
Write랑 별개로 레벨 설정 가능
사례
ONE
하나의 노드로 부터만 읽어들이면 됨
QUORUM
모든 데이터센터 중에서 과반수 이상의 노드로 부터 읽어들이면 됨
Strong consistency 란
항상 가장 최근에 작성된 데이터를 읽어 들이는 것.
참고자료
https://www.baeldung.com/cassandra-consistency-levels
Last updated