1

카산드라에 4 노드 설정이 있고 다음 구성으로 진행하기로 결정했으나 ppl이 3 노드 설정과 동일하다고 말합니다. 저 빛과카산드라의 4 노드 설정은 3 노드 설정과 동일합니다.

내 이해 당으로
Nodes = 3, Replication Factor = 2, Write Consistency = 2, Read Consistency = 1 
Nodes = 4, Replication Factor = 3, Write Consistency = 3, Read Consistency = 1 

, 노드는 = 4, 두 개의 노드 장애를 제공하는 이유라고, '3'으로 RF를 가지고 유용하지만 PPL은 RF = 2와 같은 것 말하고있다 4 노드 설정에서 RF = 3, 이유를 설명해 주시겠습니까?

감사합니다, 해리

+0

ppl who ?? 당신은 비율을 바꿀 것입니다. 그래서 아닙니다, 그들은 같지 않습니다. – xmas79

+0

그리고 너는 훨씬 더 많이 바꿀거야 ... 아니, 그들은 똑같지 않아! – xmas79

답변

4

내가 제대로 질문을 구축하지 않은 생각하는 귀하의 질문이 좀 불분명하다. 그러나 나는 당신이 그것을 이해하는 데 도움이 될 몇 가지 요점을 설명하려고 노력할 것입니다.

노드 = 4 개의 노드 장애를 제공하며, 이는 '3'

노드
  1. 번호와 같은 RF를 갖는 것이 유익 판독을위한 계수를 계산되지/실패 쓰기 . RF (복제 인수) 및 CL (일관성 수준)은 읽기/쓰기 실패의 결정 요소입니다 (필요한 복제본 또는 노드가 다운 된 경우).

RF -> 얼마나 많은 데이터 사본 (행)을 보관할 것입니까? (얼마나 많은 서버 또는 노드가 동일한 행/데이터를 유지할 것인가).

CL -> 클라이언트가 쓰기/읽기 작업이 성공적임을 알리거나 알려주는 데 필요한 노드 수를 확인합니다. 즉, CL로 언급 된 노드의 수 (예 : CL이 2 노드 이상인 노드 2 개)가 데이터를 성공적으로 작성했는지 확인하거나 데이터가 해당 복제본에서 읽히는 지 확인해야합니다 (필요한 모든 복제본이 반환 될 때까지 대기). 결과를 코디네이터 노드에 병합하고 결과를 병합하고 (다른 노드가 동일한 데이터의 다른 갱신 사항을 갖는 경우 최신 데이터 유지) 성공적으로 클라이언트에 결과를 리턴합니다.

참고 : RF = CL이면 ALL과 동일한 CL을 사용했습니다. ALL

일관성 수준의 가장 높은 수준이다 (데이터는 하나의 복제가 다운되면 확실히에 최신 상태가 아닌 것은 사용할 수있을 것입니다)

시나리오 1 :

Nodes = 3, Replication Factor = 2, Write Consistency = 2, Read Consistency = 1 쓰기 동작을 위해

는 :

당신은 가장 높은 쓰기 CL의 레벨 (RF 및 w를 사용하는 것처럼 rite CL 값이 동일), 이는 단일 실패 지점의 경우입니다. 모든 필수 복제본은 데이터가 두 노드에 모두 성공적으로 기록되었음을 클라이언트에 알리기 위해 살아 있어야합니다.

읽기 작업의 경우 :

읽기 CL은 하나입니다. 하나의 복제본이 다운되면 생존 할 수 있습니다. 원인은 하나의 복제본 만 클라이언트에 결과를 반환해야하기 때문입니다. 오래된 데이터 일 수 있습니다 (데이터 업데이트가이 노드에 전파되지는 않지만 결국 일관성이 유지됩니다)하지만 읽기는 성공합니다.

시나리오 2 : 쓰기 동작을 위해

Nodes = 3, Replication Factor = 3, Write Consistency = 2, Read Consistency = 1

: 노드의 수 = RF는, 모든 데이터가 모든 노드 (100 % 자신)에 복사 될 수있는 바와 같이

. 그것은 하나의 노드/복제본 아래로 살아남을 것입니다.

읽기 작업의 경우 : 두 개의 복제본이 다운 된 경우에도 문제가 발생하지 않습니다.

시나리오 3 :

Nodes = 4, Replication Factor = 2, Write Consistency = 2, Read Consistency = 1 쓰기 동작을 위해

: 읽기 작업에 대한 시나리오 1.

같은 : 시나리오로

같은 1

시나리오 4 :

쓰기 동작을 위해

Nodes = 4, Replication Factor = 3, Write Consistency = 3, Read Consistency = 1

: 읽기 작업에 대한 시나리오 1.

같은 : 시나리오로

동일 2.

관련 링크 : Understand cassandra replication factor versus consistency level

가에 대한 세부 정보는 DataStax Doc을 따르십시오. 당신은 노드 실패 시나리오 (읽기 또는 쓰기 요청이 실패)에 대한 우려 경우 노드의

편집

번호는 중요하지 않습니다.

노드가 3/4/5 인 것으로 가정하고 RF가 3이고 CL이 QUORUM (3/2 + 1 ~ 2)이면 클러스터는 1 개의 복제본 노드를 허용 할 수 있습니다. 위의 링크에서 About the QUORUM level 섹션을 읽어보십시오.

노드가 더 많은 경우 클러스터는 더 많은 데이터를 처리하거나 노드간에 데이터를 올바르게로드하고 배포 할 수 있습니다. 그러나 요청 실패 시나리오는 동일합니다.= 3

노드, 복제 인자 = 3, 읽기 일관성 = 1 개

노드 = 4, 복제 인자 = 3 일관성 = 2 읽기 쓰기, 일관성 = 2 쓰기 일관성 = 1

= 노드 5, 복제 인자 = 3 일관성 = 1

RF가 3이며, 쓰기 및 읽기 CL은 각각 2, 1 바와 같이, CLUS 읽기, 일관성 = 2 쓰기 ter는 쓰기 작업 동안 하나의 복제본을, 읽기 작업을 위해 두 개의 복제본을 허용 할 수 있습니다. 나는 이것이 당신을 돕기를 바랍니다.

+0

이것은 내 머리의 코멘트입니다. 4 노드는 3만큼 우수합니다. 일반적으로 짝수 짝수 노드는 덜 이상한 노드 수만큼 좋으며 CF의 매개 변수는 동일하게 유지되어야합니다. 그래서이 경우 4는 5가 아닌 3과 동일한 구성을 가져야합니다. – Harry

+0

위의 내용을 설명해 주시겠습니까? @Chaity – Harry

+0

CF는 무엇을 의미합니까? CL을 의미 했습니까? CF는 Column Family (열 패밀리)의 약자입니다. – Chaity