AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

readConcern "available"

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

  • 샤딩된 클러스터 "available" 읽기 고려 (read concern) 파티션에 대한 더 큰 허용 오차를 제공합니다.

    읽기 고려 (read concern) 있는 쿼리는 올바른 샤드 쿼리 수신했는지 확인하기 위한 검사가 필요하지 "available" 않습니다.

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

    경고

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

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

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

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

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

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

참고

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

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

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

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

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

t 0

기본 적용 쓰기 0

0
1프라이머리:쓰기
2세컨더리: 이전 쓰기 세컨더리: 이전 쓰기

프라이머리: 이전 쓰기
1세컨더리: 이전 쓰기
2세컨더리: 이전 쓰기

t 1

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

프라이머리: 쓰기 0
1세컨더리: 쓰기 0
2세컨더리:이전 쓰기

프라이머리: 이전 쓰기
1세컨더리: 이전 쓰기
2세컨더리: 이전 쓰기

2

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

프라이머리: 쓰기 0
1세컨더리: 쓰기 0
2세컨더리: 쓰기 0

프라이머리: 이전 쓰기
1세컨더리: 이전 쓰기
2세컨더리: 이전 쓰기

t 3

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

프라이머리: 쓰기 0
1세컨더리: 쓰기 0
2세컨더리: 쓰기 0

0
1프라이머리:쓰기
2세컨더리: 이전 쓰기 세컨더리: 이전 쓰기

t 4

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

프라이머리: 쓰기 0
1세컨더리: 쓰기 0
2세컨더리: 쓰기 0

0
1프라이머리:쓰기
2세컨더리: 이전 쓰기 세컨더리: 이전 쓰기

t 5

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

프라이머리: 쓰기 0
1세컨더리: 쓰기 0
2세컨더리: 쓰기 0

프라이머리: 쓰기 0
1세컨더리: 쓰기 0
2세컨더리:이전 쓰기

t 6

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

프라이머리: 쓰기 0
1세컨더리: 쓰기 0
2세컨더리: 쓰기 0

프라이머리: 쓰기 0
1세컨더리: 쓰기 0
2세컨더리: 쓰기 0

그런 다음 다음 표에는 읽기 고려 (read concern) 있는 읽기 작업이 시간 에 볼 수 있는 데이터 상태 가 요약되어 "available" T 있습니다.

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

기본

t 0이후

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

중고등 교육 1

t 1이전

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

중고등 교육 1

t 1이후

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

중고등 교육 2

t 2이전

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

중고등 교육 2

t 2이후

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