숨겨진 복제본 세트 멤버를 참조하십시오.
숨겨진 멤버 는 프라이머리 데이터 세트 의 복사본을 유지 관리하지만 클라이언트 애플리케이션에는 표시되지 않습니다 . 숨겨진 멤버는 복제본 세트 의 다른 멤버와 사용 패턴이 다른 워크로드에 적합합니다. 숨겨진 멤버는 항상 우선 순위 0 멤버 여야 하므로 프라이머리 가 될 수 없습니다. db.hello()
메서드는 숨겨진 멤버를 표시하지 않습니다. 그러나 숨겨진 멤버 는 선거에서 투표할 수 있습니다 .
다음 5명의 멤버로 구성된 복제본 세트에서는 4명의 세컨더리 멤버가 모두 프라이머리 데이터 세트의 복사본을 가지고 있지만 세컨더리 멤버 중 하나는 숨겨져 있습니다.
행동
읽기 작업
클라이언트는 숨겨진 멤버에게 적절한 읽기 설정으로 읽기를 배분하지 않습니다. 결과적으로 이러한 멤버는 기본 복제 이외의 트래픽을 수신하지 않습니다. 보고, 백업 등의 전용 작업에는 숨겨진 멤버를 사용하세요.
중요
복제본 세트에 지연 멤버가 포함되어 있는 경우 지연 멤버가 숨겨져 있고 투표권이 없는지 확인합니다.
지연된 복제 세트 멤버를 숨기면 애플리케이션에서 해당 멤버에 직접 연결하지 않고도 지연된 데이터를 보고 쿼리할 수 없습니다. 지연된 복제 세트 멤버를 투표권이 없는 것으로 설정하면 쓰기 고려 "majority"
이(가) 있는 쓰기 작업을 승인하는 데 포함되지 않는다는 것을 의미합니다.
지연된 멤버를 숨기지 않고 하나 이상의 노드를 사용할 수 없게 되면 복제본 세트는 지연된 멤버를 기다려야 하며 커밋 지점이 지연됩니다. 커밋 지점이 지연되면 성능 문제가 발생할 수 있습니다.
예를 들어 지연된 세컨더리가 10분 지연으로 투표하는 프라이머리-세컨더리-지연 복제본 세트 구성을 생각해 봅니다.
지연되지 않은 세컨더리를 사용할 수 없는 경우 프라이머리 지연의 저하된 구성이 "majority"
을(를) 사용하여 쓰기 작업을 승인하려면 최소 10분 이상 기다려야 합니다. 대부분의 커밋 지점이 진행되는 데 시간이 더 오래 걸려 세컨더리를 사용하는 프라이머리 및 중재자(PSA) 복제본 세트에서 캐시 압력과 유사한 성능 문제가 발생합니다.
과반수 커밋 포인트에 대한 자세한 내용은 인과적 일관성 및 읽기 및 쓰기 고려를 참조하세요. 성능 문제 해결에 대한 자세한 내용은 복제본 세트 유지 관리 튜토리얼을 참조하세요.
샤딩된 클러스터에서 mongos
은(는) 숨겨진 멤버와 상호 작용하지 않습니다.
투표
숨겨진 멤버는 복제본 세트 투표에 투표할 수 있습니다. 숨겨진 멤버의 투표를 중지하는 경우, 해당 세트의 활성 과반수를 확보하지 않으면 프라이머리 멤버가 물러나게 됩니다.
백업을 목적으로 하는 경우,
db.fsyncLock()
은(는)cp
,scp
또는tar
와(과) 같은 낮은 수준의 백업 유틸리티를 사용하여 데이터 파일을 안전하게 복사할 수 있도록 보장합니다. 복사된 파일을 사용하여 시작된mongod
에는 잠긴mongod
의 사용자 작성 데이터와 구별할 수 없는 사용자 작성 데이터가 포함되어 있습니다.잠긴
mongod
의 데이터 파일은 저널링 동기화 또는 WiredTiger 스냅샷 과 같은 작업으로 인해 변경될 수 있습니다. 논리적 데이터에는 영향을 주지 않지만(예: 클라이언트가 액세스하는 데이터), 일부 백업 유틸리티는 이러한 변경 사항을 감지하여 경고를 표시하거나 오류로 인해 실패할 수 있습니다. MongoDB- 권장 백업 유틸리티 및 절차에 대한 자세한 내용 은 자체 관리 배포서버를 위한 백업 방법을 참조하세요.
쓰기 고려
숨겨진 복제본 세트 멤버는 w: <number>
로 실행된 쓰기 작업을 승인할 수 있습니다. 그러나 w : "majority"
로 실행된 쓰기 작업의 경우 숨겨진 멤버도 투표 멤버(예: members[n].votes
가 0
초과인 경우)여야 "majority"
쓰기 작업을 승인할 수 있습니다. 투표권이 없는 복제본 세트 멤버(예 members[n].votes
가 0
인 경우)는 majority
쓰기 고려를 가진 쓰기 작업을 승인하는 데 기여할 수 없습니다.
추가 읽기
MongoDB 데이터베이스 백업에 대한 자세한 내용은 자체 관리 배포서버를 위한 백업 방법을 참조하세요. 숨겨진 멤버 를 구성하려면 숨겨진 자체 관리 복제본 세트 멤버 구성을 참조하세요.