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

클라이언트 수준 CRUD 설정 구성

이 가이드 에서는 Java 운전자 사용하여 MongoClient 인스턴스에 대한 CRUD 작업을 구성하는 방법에 대해 학습 수 있습니다.

읽기 설정, 읽기 고려, 쓰기 고려는 드라이버가 읽기 작업을 라우팅하고 MongoDB 복제본 세트에 연결될 때 읽기 및 쓰기 작업에 대한 승인을 기다리는 방법을 제어합니다. 읽기 설정 및 읽기 고려는 모든 읽기 작업에 적용되고 쓰기 고려는 모든 쓰기 작업에 적용됩니다.

자세한 내용은 읽기 설정, 읽기 고려 및 쓰기 고려에 대한 서버 설명서를 참조하세요.

MongoDatabase 및 MongoCollection 인스턴스는 액세스하는 MongoClient 로부터 기본 설정과 고려 사항을 상속합니다. 하지만 데이터베이스와 컬렉션에 사용자 지정 설정을 적용할 수 있습니다. 자세한 내용은 사용자 지정 CRUD 설정 구성 페이지를 참조하세요.

연결 문자열 사용 하거나 MongoClientSettings 객체를 MongoClients 생성자에 전달하여 클라이언트 수준 CRUD 설정을 지정할 수 있습니다. Connection String 또는 MongoClientSettings 탭 선택하여 사용 가능한 옵션을 확인합니다.

드라이버의 읽기 또는 쓰기 (write) 동작을 수정하려면 연결 문자열 에 다음 매개 변수를 포함하세요.

옵션 이름
유형
설명

journal

부울

연결된 MongoDB 인스턴스가 모든 쓰기에 대해 디스크의 저널 파일을 그룹 커밋할 때까지 드라이버가 기다리도록 지정합니다.

기본값: false

w

문자열 또는 정수

쓰기 고려 (write concern) 지정합니다. 값에 대한 자세한 내용은 w 옵션에 대한 MongoDB Server 설명서를 참조하세요.

기본값: 1

wtimeoutMS

integer

쓰기 고려 (write concern) 대한 시간 제한(밀리초)을 지정합니다. 자세한 내용은 wtimeoutMS 옵션에 대한 MongoDB Server 설명서를 참조하세요. 0 값은 운전자 쓰기 (write) 작업의 시간을 초과하지 않도록 합니다.

기본값: 0

readPreference

문자열

읽기 설정 (read preference) 지정합니다. 값에 대한 자세한 내용은 readPreference 옵션에 대한 MongoDB Server 설명서를 참조하세요.

기본값: primary

readPreferenceTags

문자열

읽기 설정 (read preference) 태그를 지정합니다. 값에 대한 자세한 내용은 readPreferenceTags 옵션에 대한 MongoDB Server 설명서를 참조하세요.

기본값: null

maxStalenessSeconds

integer

운전자 세컨더리 와의 통신을 중지하기 전에 세컨더리 부실한 상태가 될 수 있는 시간(초)을 지정합니다. 최소값은 90 초 또는 하트비트 빈도에 10 초를 더한 값 중 더 큰 값입니다. 자세한 내용은 maxStalenessSeconds 옵션에 대한 MongoDB Server 설명서를 참조하세요. 매개 변수를 제공하지 않거나 -1 를 명시적으로 지정하지 않으면 세컨더리에 대한 부실 상태 검사가 없어야 합니다.

기본값: -1

uuidRepresentation

문자열

읽기 및 쓰기 (write) 작업에 사용할 UUID 표현을 지정합니다. 자세한 내용은 MongoClientSettings.getUuidRepresentation() 메서드에 대한 운전자 설명서를 참조하세요.

기본값: unspecified

retryWrites

부울

지원되는 쓰기 작업을 네트워크 오류로 인해 완료할 수 없는 경우 드라이버가 다시 시도하도록 지정합니다.

기본값: true

retryReads

부울

지원되는 읽기 작업을 네트워크 오류로 인해 완료할 수 없는 경우 드라이버가 다시 시도하도록 지정합니다.

기본값: true

maxAdaptiveRetries

integer

재시도 가능한 과부하 오류(즉, SystemOverloadedError 및 RetryableError 레이블을 모두 포함하는 오류)로 인해 실패한 명령을 드라이버가 재시도하는 최대 횟수를 설정합니다.

이 옵션은 retryWrites이(가) true (으)로 설정된 경우에만 쓰기 (write) 명령에 적용되고, retryReads이(가) true(으)로 설정된 경우에만 읽기 명령에 적용됩니다. 값을 0 (으)로 설정하면 재시도 가능한 과부하 오류에 대한 재시도 시도가 비활성화됩니다.

기본값: null. 이 옵션이 설정되지 않은 경우, 드라이버는 일반적으로 2 값을 적용합니다.

enableOverloadRetargeting

부울

이전 시도에서 과부하 오류를 반환한 서버가 있는 경우, 후속 재시도 시 서버 선택 중에 드라이버가 해당 서버의 우선순위를 낮출지 여부를 설정합니다.

이 옵션은 retryReads이(가) true (으)로 설정된 경우 읽기에 적용되고 retryWrites이(가) true(으)로 설정된 경우 쓰기 (write)에 적용됩니다. 이 옵션은 샤딩된 클러스터에는 적용되지 않습니다.

기본값: false

다음 예시 가장 가까운 복제본 세트 멤버에서 읽도록 읽기 설정 (read preference) 설정합니다.

ConnectionString connectionString = "mongodb://<host>:<port>/?readPreference=nearest"MongoClient mongoClient = MongoClients.create(connectionString)

이러한 매개변수에 대한 자세한 내용은 ConnectionString API 설명서를 참조하세요.

참고

지능형 워크로드 관리(IWM)의 부하 차단

SystemOverloadedError 또는 RetryableError 레이블과 관련된 오류로 인해 애플리케이션에 장애가 발생하거나 애플리케이션 로그에 오류가 나타나는 경우, 클러스터에서 Load Shedding이 활성화되어 있을 수 있으며 드라이버가 이를 지원하는 버전으로 업그레이드되지 않았을 수 있습니다. MongoDB Java Driver를 5.8 버전 이상으로 업그레이드하는 것이 좋습니다. 업그레이드 후에도 이러한 오류가 계속 발생하면 Load Shedding 구성 검토와 같은 서버 사이드 변경을 통해 해결하거나, 사용자 지정 오류 처리 또는 클라이언트 사이드 요청 제한 구현과 같은 애플리케이션 사이드 변경을 통해 해결할 수 있습니다. 상황에 따라 애플리케이션 측의 변경이 더 바람직하거나 필요할 수 있습니다.

Load Shedding은 IWM의 기능으로, 지속적인 과부하 상황에서 초과 작업을 거부하여 서버 부하를 관리하는 데 도움이 됩니다. 이 기능은 MongoDB 9.0 이상에서 사용할 수 있습니다.

IWM 또는 과부시 오류 처리에 대한 자세한 내용은 Atlas 문서의 지능형 워크로드 관리 페이지 또는 과부시 오류 페이지를 참조하십시오.

이 페이지 평가하기

이 페이지의 내용