Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/
MongoDB Mongosync
/

데이터 전송 확인

애플리케이션 로드를 소스 클러스터 에서 대상 클러스터 로 전환하기 전에 마이그레이션 이 성공적인 했는지 확인해야 합니다.

1.9부터 mongosync 는 소스 및 대상 클러스터 에 대해 일련의 확인 검사를 수행하여 동기화 가 성공적인 했는지 확인할 수 있는 내장된 검증자를 제공합니다.

동기화할 때마다 데이터를 확인해야 합니다. 이는 애플리케이션 로드를 소스에서 대상 cluster로 이동하려는 경우에 중요합니다.

인증 방법
설명

임베디드 검증자

1.9부터 mongosync 에는 소스 및 대상 클러스터에서 일련의 검증 검사를 실행하여 마이그레이션 이 성공적인 했는지 확인하는 검증자가 내장되어 있습니다. 이는 요구 사항을 충족하는 배포에 선호되는 확인 방법입니다.

mongosync 프로세스 시작되면 내장된 검증자에 대한 면책조항이 사용자에게 표시됩니다. 면책조항에 동의해야 하며, 그렇지 않으면 이미 이를 읽고 확인한 mongosync --acceptDisclaimer 경우 옵션으로 을(를) 시작하여 검증자를 사용합니다.

검증자는 마이그레이션 의 모든 측면을 확인하지 않습니다.

  • 지원되지 않는 네임스페이스 및 샤딩된 클러스터에서 동기화 확인하려면 다른 확인 방법을 사용하세요.

  • 인덱스 동기화 확인하려면 인덱스 비교 메서드를 사용합니다.

  • 메타데이터 동기화 확인하려면 메타데이터 비교 메서드를 사용합니다.

가장 기본적인 확인 방법은 소스 cluster의 각 동기화된 collection에 있는 문서 수를 대상 cluster의 수와 비교하는 것입니다.

이 메서드로 데이터 전송 확인하려면 먼저 mongosyncCOMMITTED 상태 여야 합니다.

이 메서드는 삽입 전용 워크로드가 있는 cluster에 대해 실행할 때만 성공적인 동기화를 확인합니다.

소스 클러스터에서 대상 클러스터로 동기화된 컬렉션의 MD5 해시를 비교하여 동기화를 확인할 수 있습니다.

이 메서드로 데이터 전송 확인하려면 먼저 mongosyncCOMMITTED 상태 여야 합니다.

해시 비교는 대상 클러스터가 소스로부터 모든 변경 사항을 수신했는지 확인하지만 dbHash 명령은 클러스터를 잠가 완료될 때까지 추가 쓰기를 방지합니다.

샤딩된 클러스터에서는 해시 비교가 불가능합니다. 또한 문서 필드 순서가 다를 수 있으므로 MongoDB 4.4 이전 릴리스를 사용하는 독립형 서버 및 복제본 세트에서는 작동하지 않습니다.

문서 비교

소스 클러스터와 대상 클러스터의 문서를 비교하여 동기화 확인할 수 있습니다.

소스 클러스터 에서 컬렉션을 쿼리한 다음 대상 클러스터 에 동일한 값을 가진 올바른 문서, 인덱스, 컬렉션, 메타데이터 및 뷰가 있는지 확인하는 스크립트 작성합니다.

이 메서드로 데이터 전송 확인하려면 먼저 mongosyncCOMMITTED 상태 여야 합니다.

인덱스 비교

인덱스 전송을 확인하려면 db.collection.getIndexes() 소스 및 대상 클러스터에서 메서드를 실행 결과를 비교합니다.

메타데이터 비교

메타데이터 전송을 확인하려면 db.getCollectionInfos() 소스 및 대상 클러스터에서 메서드를 실행 결과를 비교합니다.

샤드 키 비교

동기화된 컬렉션 으로의 샤드 키 전송을 확인하려면 config.collections 컬렉션 에서 쿼리 실행 _id 값이 대상 컬렉션 의 네임스페이스 인 문서 찾습니다. 소스 및 대상 클러스터에서 이 문서 의 key 값을 비교합니다.

예시 들어 데이터베이스 에 있는 컬렉션 의 경우 pets 에서 다음 쿼리 사용하여 샤드 키 확인할 records mongosh 수 있습니다.

db.getSiblingDB("config").collections.find({ _id : "records.pets" })
{
"_id" : "records.pets",
"lastmod" : ISODate("2021-07-21T15:48:15.193Z"),
"timestamp": Timestamp(1626882495, 1),
"key" : {
"_id" : 1
},
"unique" : false,
"lastmodEpoch" : ObjectId("5078407bd58b175c5c225fdc"),
"uuid" : UUID("f8669e52-5c1b-4ea2-bbdc-a00189b341da")
}

Migration Verifier는 소스 및 대상 cluster에 연결하고 일련의 검증 검사, 문서, 뷰 및 인덱스를 비교하여 동기화가 성공했는지 확인합니다.

데이터를 확인하는 데 사용하는 구체적인 방법은 애플리케이션 워크로드와 데이터의 복잡성에 따라 달라집니다.

돌아가기

텔레메트리

이 페이지의 내용