MongoDB Replication (번역)

Jay Jang·2022년 7월 8일
0

MongoDB

목록 보기
2/2

MongoDB의 공식문서 Replication 을 번역합니다.

모든 저작권은 MongoDB에 있습니다. All Copyrights are in MongoDB.


MongoDB replica set는 동일한 데이터 세트를 유지하는 mongod 프로세스 그룹이다. Replica sets는 이중화 및 고가용성을 제공하며, 모든 프로덕션 배포의 기본이 된다.

이 섹션에서는 replica sets의 구성 요소 및 아키텍처 뿐만 아니라 MongoDB에서의 replication을 소개한다.

또한 replica sets와 일반적인 작업의 튜토리얼도 제공한다.


Redudancy and Data Availabilty 이중화 및 데이터 가용성


Replication 레플리케이션 (복제) 는 이중화를 제공하고 데이터 가용성을 높인다. 레플리케이션은 서로 다른 데이터베이스 서버에 있는 여러 개의 데이터 복사본을 사용하여 단일 데이터베이스 서버의 손실에 대한 내결함성(고장 허용 범위)를 제공한다.

경우에 따라 클라이언트가 읽기 작업을 다른 서버로 보낼 수 있기 때문에 레플리케이션은 읽기 용량을 늘릴 수 있다.

서로 다른 데이터 센터의 데이터 복사본을 유지 관리하면 분산된 애플리케이션의 데이터 인접성과 가용성을 높일 수 있다.

재해 복구, reporting 또는 백업과 같은 특정한 목적으로 추가 복사본을 유지할 수 있다.


Replication in MongoDB


레플리카셋은 동일한 데이터 집합을 유지하는 mongod 인스턴스의 그룹이다.

레플리카셋은 여러 개의 데이터 베어링 노드(관련 노드)와 선택적으로 하나의 아비터 노드가 포함된다.

데이터 보유 노드 중 하나의 멤버만 Primary node 기본 노드로 간주되고, 다른 노드는 secondary node 보조 노드로 간주된다.

Primary node는 모든 쓰기 작업을 수신한다.

레플리카셋은 {w: “majority”} 쓰기 권한을 가지고 있는 오직 하나의 primary를 가질 수 있다.

그렇지만 몇몇 상황에서는 다른 mongod 인스턴스를 primary로 여길 수 있다.

primary records는 데이터 세트의 모든 변경 사항을 작업 로그(oplog)에 기록한다.

secondary node들은 primaryoplog 작업 로그를 복제하고 작업을 해당 데이터 세트에 적용하여 secondary 데이터 세트가 primary 의 데이터 세트를 반영한다.

만약 primary가 사용 불가능할 경우, secondary 중 새로운 primary를 선출한다.

몇몇 상황에서는(primary와 secondary를 사요아지만 비용 제약으로 인해 다른 secondary를 추가할 수 없는 경우) mongod 인스턴스를 레플리카세트에 Arbiter 아비터, 중재자로 추가해야 할 수도 있다.

아비터는 primary 선출에는 참여하지만 데이터를 보유하진 않는다(즉, 데이터 이중화를 제공하지 않는다).

아비터는 항상 아비터로 존재하는 반면, 선출 과정을 통해 primary는 secondary로 내려갈 수도 있고, secondary가 primary가 될 수도 있다.




(번역중)

REFERENCE


https://www.mongodb.com/docs/manual/replication/#:~:text=A replica set in MongoDB,and architecture of replica sets.

profile
그때는맞고지금은틀리다

0개의 댓글