CASSANDRA

Cassandra는 쓰기와 가용성을 위해 분산을 전제로 설계된다

파티션 키를 토큰 링에 배치하고 여러 복제본에 쓰며, 요청별 일관성 수준으로 응답 조건을 조절한다.

RingReplicaQuorum
Partition Key키를 해시해 토큰 위치를 결정한다.
Token Ring토큰 범위를 소유한 노드가 데이터를 맡는다.
Replication복제 계수에 따라 여러 노드에 사본을 둔다.
Consistency LevelONE, QUORUM, ALL 등 응답 대기 수를 고른다.
쓰기 친화로그와 메모리에 먼저 반영하고 디스크 정리는 뒤에서 수행
장애 허용복제본 일부가 느리거나 실패해도 설정에 따라 응답 가능
범위 조회파티션 키와 clustering 순서를 쿼리에 맞춰 먼저 설계