Docs Menu
Docs Home
/
MongoDB Cluster-to-Cluster Sync
/ /

네임스페이스 재매핑

이 페이지의 내용

  • 구문
  • 매개변수 필드
  • 행동
  • 단계
  • 자세히 알아보기

중요

Cluster-to-Cluster Sync beta 프로그램

이 기능 은 mongosync beta 에서만 사용할 수 있습니다. 학습 내용은 Cluster-to-Cluster Sync beta 프로그램을 참조하세요.

mongosync beta 1.8 부터 동기화 중에 데이터베이스 이름을 다시 매핑할 수 있습니다. 이를 통해 소스 클러스터 의 한 데이터베이스 에 있는 데이터를 대상 클러스터 의 다른 데이터베이스 로 마이그레이션 할 수 있습니다.

네임스페이스 재매핑을 사용하려면 소스 클러스터 와 대상 클러스터 모두 지원되는 MongoDB 버전을 사용해야 합니다.

/start API 엔드포인트는 다음 구문을 사용하여 선택적 namespaceRemap 매개변수를 허용합니다.

curl <host>:<port>/api/v1/start -XPOST \
--data '
{
"source": "cluster0",
"destination": "cluster1"
"namespaceRemap": [
{
"from": {
"database": "<source-database>"
},
"to": {
"database": "<destination-database>"
}
}
]
} '
필드
유형
필수 사항
설명
namespaceRemap
배열
옵션

동기화 중에 수행할 네임스페이스 변경을 지정하는 문서 배열입니다.

1.8버전의 새로운 기능: 베타

namespaceRemap[n]. from
문서
필수 사항

재매핑 작업에서 마이그레이션 할 소스 클러스터 의 데이터베이스 를 지정하는 문서입니다.

1.8버전의 새로운 기능: 베타

namespaceRemap[n]. from.database
문자열
필수 사항

소스 클러스터 에서 마이그레이션 할 데이터베이스입니다.

1.8버전의 새로운 기능: 베타

namespaceRemap[n]. to
문서
필수 사항

재매핑 작업에서 마이그레이션 할 대상 클러스터 의 데이터베이스 를 지정하는 문서입니다.

1.8버전의 새로운 기능: 베타

namespaceRemap[n]. to.database
문자열
필수 사항

대상 클러스터 에서 마이그레이션 할 데이터베이스입니다.

1.8버전의 새로운 기능: 베타

네임스페이스 재매핑에는 다음과 같은 제한 사항이 적용 됩니다.

  • 네임스페이스 재매핑은 system, config, admin 또는 local 데이터베이스에 대한 쓰기 또는 mongosync 에서 사용하는 내부 데이터베이스에 대한 쓰기를 허용하지 않습니다.

  • 대상 클러스터 의 데이터베이스 이름은 Windows 제한 사항에 따라 유효해야 합니다.

    자세한 내용은 Windows 용 데이터베이스 이름에 대한 제한 사항을 참조하세요.

  • 대상 클러스터 에서 다시 매핑된 데이터베이스 이름은 대소문자만 다를 수 있습니다.

  • 네임스페이스 재매핑을 설정하다 하고 reversible 플래그를 true 로 설정할 수 없습니다.

  • 재맵핑은 대상 클러스터 에서 네임스페이스 충돌을 일으킬 수 없습니다.

    예를 들면 다음과 같습니다.

    "namespaceRemap": [
    {
    "from": { "database": "us-west" },
    "to": {"database": "us-accounts" }
    },
    {
    "from": { "database": "us-south" },
    "to": { "database": "us-accounts" }
    }
    ]

    소스 클러스터 의 각 데이터베이스 에 texas 컬렉션 이 포함된 경우 mongosync 가 실패하거나 데이터가 손상되거나 예기치 않은 동작이 발생할 수 있습니다.

네임스페이스 재매핑은 Embedded Verifier 와 호환되지 않습니다. 검증자와 네임스페이스 재매핑을 모두 활성화 한 경우 /start 명령은 오류를 반환합니다.

자세한 내용은 데이터 전송 확인을 참조하세요.

1

다음 예시 에서는 소스 클러스터 (cluster0)를 대상 클러스터 (cluster1)와 연결합니다.

mongosync \
--cluster0 "mongodb://localhost:27000" \
--cluster1 "mongodb://localhost:35000"
2

다음 /start 호출은 동기화 를 시작하고 소스 클러스터 의 accounts 데이터베이스 를 대상 클러스터 의 sales 데이터베이스 에 다시 매핑합니다.

curl -X POST "http://localhost:27182/api/v1/start" --data '
{
"source": "cluster0",
"destination": "cluster1",
"namespaceRemap": [
{
"from": {
"database": "accounts",
},
"to": {
"database": "sales",
}
}
]
} '

응답 예시:

{"success":true}

돌아가기

기존 데이터 처리