Docs Menu
Docs Home
/
MongoDB Mongosync
/

데이터 전송 확인

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

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

인증 방법
설명

문서 수

가장 기본적인 확인 방법은 소스 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에 연결하고 일련의 검증 검사, 문서, 뷰 및 인덱스를 비교하여 동기화가 성공했는지 확인합니다.

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

돌아가기

텔레메트리

이 페이지의 내용