(Mongodb) Replica Set
*레플리카셋에는 3가지 멤버가있다.
-> Primary
-> Secondaries
-> Arbiter
*Arbiter
->Arbiter는 데이터의 복사본을 유지 하지 않는다,
그러나 Primary가 이용가능하지 않는다면 Primary를 유지하기 위한 투표에 참여한다,
Primary는 write 오퍼레이션을 사용하는 멤버이다, MongoDB는 write오퍼레이션을 작동한다 그리고 Primary`s oplog에 저장한다,
Secondary는 이 로그를 복제하고 데이터셋에 적용한다,
Replica Set 멤버들은 read Operation을 사용한다.
그러나 default 조건으로 application은 primary member에서 read를 다이렉트로 한다.
레플리카셋에서 많아야 한 개의 Primary를 가진다. 만약 현재의 primary가 이용 불가능해지면 투표를 통해 primary를 선정한다.
-> Primary
-> Secondaries
-> Arbiter
*Arbiter
->Arbiter는 데이터의 복사본을 유지 하지 않는다,
그러나 Primary가 이용가능하지 않는다면 Primary를 유지하기 위한 투표에 참여한다,
<Primary>
Primary는 write 오퍼레이션을 사용하는 멤버이다, MongoDB는 write오퍼레이션을 작동한다 그리고 Primary`s oplog에 저장한다,
Secondary는 이 로그를 복제하고 데이터셋에 적용한다,
Replica Set 멤버들은 read Operation을 사용한다.
그러나 default 조건으로 application은 primary member에서 read를 다이렉트로 한다.
레플리카셋에서 많아야 한 개의 Primary를 가진다. 만약 현재의 primary가 이용 불가능해지면 투표를 통해 primary를 선정한다.
<Secondaries>
Secondary는 Primary`s data set의 복사본을 유지한다.
데이터를 복제하기 위해 secondary는 primary`s oplog로부터 비동기적 프로세스로 작업을 수행한다.
클라이언트는 secondaries로 부터 write를 할 수 없을 지라도, read는 가능하다.
다음은 특별한 목적에 따라 secondary를 설정할 수 있는 것들이다.
- Primary가 투표에 참여하는 것을 막는다.
- 읽기 작동을 방지한다. application이 작동하는 경우 seperation이 필요하다.
- historical snapshot을 계속 유지하는 것이 가능하다. 이것은 특별한 에러가 발생했을 때 회복시켜주는 것이다. 의도하지 않게 데이터베이스가 삭제된 경우
<Arbiter>
Arbiter는 데이터셋을 복사 할 수 없고, primary가 될 수 없다.
Replica sets 은 primary를 선정할 수 있는 arbiter가 될 수 있다.
Arbiter는 항상 1 표를 행사 할 수 있다. 그러므로 replica sets 는 홀 수개 표가 될 수 있게 만들어준다.
For replica sets with an arbiter, replica set protocol version 1 (
pv1
) increases the likelihood of rollback of w:1
writes compared to replica set protocol version 0 (pv0
).
댓글
댓글 쓰기