Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ /

readConcern "available"

읽기 고려가 "available"인 쿼리는 데이터가 대부분의 복제본 세트 멤버에 기록되었다는 보장 없이(즉, 롤백될 수 있음) 인스턴스의 데이터를 반환합니다.

  • 샤드 클러스터 "available" 읽기 고려는 파티션에 대한 더 큰 허용 오차를 제공합니다.

    "available" 읽기 고려가 포함된 쿼리는 올바른 샤드가 쿼리를 수신했는지 확인하기 위한 검사가 필요하지 않습니다.

    네트워크 파티션이 있는 이벤트 이러한 쿼리는 네트워크 파티션 이 발생하기 전에 적절하다고 간주되는 샤드 로 라우팅됩니다. 사용할 수 없는 서버의 일관성 보장 을 기다리지 않습니다. 샤드 가 청크 마이그레이션 을 진행 중인 경우 "available" 를 사용하는 쿼리는 고아 문서를 반환할 수 있습니다.

    경고

    mongos는 읽기 고려가 "available"인 쿼리가 올바른 샤드로 라우팅되도록 보장하지 않습니다. 쿼리를 수신하는 샤드는 데이터를 반환하지만, 이 샤드는 요청된 데이터의 신뢰할 수 있는 소유자가 아닐 수 있습니다.

    이로 인해 쿼리에서 부정확하거나 예기치 않은 결과가 반환될 수 있습니다.

  • 샤딩되지 않은 컬렉션(독립 실행형 배포서버 또는 복제본 세트 배포서버의 컬렉션 포함)의 경우 "local""available" 읽기 고려는 동일하게 동작합니다.

읽기 고려 수준에 관계없이 노드의 최신 데이터는 시스템에 있는 데이터의 최신 버전을 반영하지 않을 수 있습니다.

다음도 참조하세요.

읽기 고려 "available"이며 인과적으로 일관적인 세션 및 트랜잭션과 함께사용할 수 없습니다 .

세 멤버로 구성된 복제본 세트에 0을 쓰는 쓰기 작업의 다음 타임라인을 고려해 보십시오.

참고

단순화를 위해 이 예시에서는 다음과 같은 상황을 가정합니다.

  • 쓰기 0 이전의 모든 쓰기가 모든 구성원에 성공적으로 복제되었습니다.

  • 쓰기 이전은 쓰기 0 이전의 이전 쓰기입니다.

  • Write 0 이후에는 다른 쓰기가 발생하지 않았습니다.

3 노드 복제본 세트에 대한 쓰기 작업의 타임라인
시간
이벤트
가장 최근 글
가장 최근 w: "대다수" 쓰기

t 0

기본 적용 쓰기 0

Primary: Write 0
Secondary 1: Write prev
Secondary 2: Write prev
Primary: Write prev
Secondary 1: Write prev
Secondary 2: Write prev

t 1

보조 1은 쓰기 0을적용합니다.

Primary: Write 0
Secondary 1: Write 0
Secondary 2: Write prev
Primary: Write prev
Secondary 1: Write prev
Secondary 2: Write prev

2

보조 2 는 쓰기 0을 적용합니다.

Primary: Write 0
Secondary 1: Write 0
Secondary 2: Write 0
Primary: Write prev
Secondary 1: Write prev
Secondary 2: Write prev

t 3

프라이머리는 세컨더리 1에 성공적으로 복제되었음을 알리고 클라이언트에 확인 메시지를 보냅니다.

Primary: Write 0
Secondary 1: Write 0
Secondary 2: Write 0
Primary: Write 0
Secondary 1: Write prev
Secondary 2: Write prev

t 4

주 서버가 보조 서버 2로복제가 성공했음을 인식합니다.

Primary: Write 0
Secondary 1: Write 0
Secondary 2: Write 0
Primary: Write 0
Secondary 1: Write prev
Secondary 2: Write prev

t 5

보조 1은 (정기적인 복제 메커니즘을 통해) 가장 최근의 w에 대한 스냅샷을 업데이트하라는 알림을 받습니다. "majority" 쓰기

Primary: Write 0
Secondary 1: Write 0
Secondary 2: Write 0
Primary: Write 0
Secondary 1: Write 0
Secondary 2: Write prev

t 6

보조 2는 (정기적인 복제 메커니즘을 통해) 가장 최근의 w에 대한 스냅샷을 업데이트하라는 알림을 받습니다. "majority" 쓰기

Primary: Write 0
Secondary 1: Write 0
Secondary 2: Write 0
Primary: Write 0
Secondary 1: Write 0
Secondary 2: Write 0

그런 뒤, 다음 표에는 "available" 읽기 우려를 가진 읽기 작업이 T 시점에 볼 수 있는 데이터 상태가 요약되어 있습니다.

세 멤버 복제본 세트에 대한 쓰기 작업의 타임라인입니다.
대상 읽기
시간 T
데이터 상태

기본

t 0이후

데이터는 쓰기 0을 반영합니다.

중고등 교육 1

t 1이전

데이터는 이전쓰기를 반영합니다.

중고등 교육 1

t 1이후

데이터는 쓰기 0을반영합니다.

중고등 교육 2

t 2이전

데이터는 이전쓰기를 반영합니다.

중고등 교육 2

t 2이후

데이터는 쓰기 0을반영합니다.

돌아가기

'로컬'