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

Atlas Infinite 클러스터에 데이터 로드

자체 데이터를 Atlas Infinite 클러스터 에 로드하려면 다음 방법 중 하나를 사용합니다.

이러한 각 메서드는 대상 Atlas Infinite 클러스터 의 쓰기 (write) 용량 소비합니다. 애플리케이션에 미치는 영향을 제한하려면 시스템 사용량이 많지 않거나 예약된 유지 관리 기간 동안 대용량 데이터 로드를 실행 .

다음 전제 조건을 완료합니다.

mongodump는 기존 MongoDB 독립형 또는 복제본 세트 의 바이너리 내보내기를 생성하고,mongorestore는 해당 내보내기를 Atlas Infinite 클러스터 로 로드합니다. 내보내기에는 소스 배포서버 의 데이터, 메타데이터 및 인덱스가 포함됩니다. 기존 MongoDB 샤딩된 클러스터 에서 데이터를 복사하는 방법에 대한 지침 지원 요청을 참조하세요.

이 절차를 사용하여 Atlas Core의 무료 클러스터 또는 Flex 클러스터 에서 Atlas Infinite의 전용 클러스터 로 데이터를 마이그레이션 할 수도 있습니다. 데이터를 마이그레이션하는 대신 무료 클러스터 또는 Flex 클러스터 확장하다 하려면 무료 또는 Flex 클러스터를 전용 클러스터로 확장을 참조하세요.

이 절차에는 다운타임이 필요합니다. 소스 배포서버 에 대한 쓰기를 중지하고 mongodump 및 mongorestore를 실행 다음, 애플리케이션을 Atlas Infinite 클러스터 로 전환합니다.

이 절차를 실행 전에 다음 동작을 고려하세요.

  • 데이터 일관성: 데이터 손실을 방지하려면 mongodump를 실행 전에 소스 배포서버 에 대한 쓰기를 일시 중지하세요. 세컨더리 멤버에서 mongodump를 실행 경우, 쓰기를 일시 중지한 다음 덤프를 시작하기 전에 세컨더리 프라이머리 따라잡을 때까지 기다리세요.

  • 사용자 및 역할: Atlas 데이터베이스 사용자를 관리하므로 mongorestore는 기존 데이터베이스 사용자 또는 역할을 대상 클러스터 로 마이그레이션 할 수 없습니다. 대상 Atlas Infinite 클러스터 에서 애플리케이션에 필요한 데이터베이스 사용자를 생성합니다. 자세한 학습 은 데이터베이스 사용자 구성을 참조하세요.

  • 제외된 네임스페이스: 덤프의 admin 및 config 디렉토리에는 mongorestore이 Atlas Infinite 클러스터 에 추가할 수 없는 사용자 정보가 들어 있으므로 절차에서 admin.* 및 config.*를 제외합니다.

  • 호스트 리소스: mongodump는 소스 배포서버 에 대한 네트워크 액세스 있는 호스팅하다 에서 실행되고,mongorestore는 아카이브 파일 에 대한 액세스 과 대상 배포서버 에 대한 네트워크 액세스 있는 호스팅하다 에서 실행됩니다. 두 도구 모두 호스팅하다 의 CPU와 메모리를 사용하므로 해당 호스트의 성능에 영향을 미칠 수 있습니다.

1

소스 배포서버 인증 시행하는 경우, mongodump는 마이그레이션 모든 데이터베이스 읽을 수 있는 데이터베이스 사용자로 인증해야 합니다. admin 데이터베이스 의 backup 역할 이러한 권한을 부여합니다.

소스 배포서버 에 이러한 사용자가 없는 경우 새로 만듭니다. 데이터베이스 사용자를 생성하고 관리 방법을 학습 배포서버 유형에 대한 다음 페이지를 참조하세요.

2

mongorestore는 마이그레이션 모든 데이터베이스 에 쓰기 (write) 수 있는 데이터베이스 사용자로 인증해야 합니다. 대상 Atlas Infinite 클러스터 의 Atlas admin 역할 이러한 권한을 부여합니다.

대상 Atlas Infinite 클러스터 에 이러한 사용자가 없는 경우 사용자를 생성하세요. Atlas 에서 데이터베이스 사용자를 생성하고 관리 방법을 학습 보려면 데이터베이스 사용자 구성을 참조하세요.

3

mongodump 및 mongorestore를 실행 호스팅하다 두 배포에 모두 도달할 수 있는지 확인하세요.

  • 대상 Atlas Infinite 클러스터 포함된 프로젝트 의 IP 액세스 목록 에 호스팅하다 추가합니다. IP 액세스 목록 에 호스팅하다 추가하는 방법을 학습 IP 액세스 목록 항목 구성을 참조하세요.

  • 소스 배포서버 다른 프로젝트 의 Atlas Core 클러스터 인 경우 해당 프로젝트의 IP 액세스 목록 에 호스팅하다 도 추가하세요. 소스 배포서버 자체 관리되는 경우 호스팅하다 의 연결을 허용하도록 방화벽 구성합니다. 자세히 학습 네트워크 및 구성 강화를 참조하세요.

VPC 피어링을 설정하다 한 경우, 상대방의 VPC CIDR 차단 이나 서브넷 또는 상대방 VPC 의 보안 그룹 IP 액세스 목록 에 추가할 수 있습니다. 자세히 학습 IP 액세스 목록을 참조하세요.

4
  1. mongodump 명령을 조합합니다.

    다음 mongodump 명령 템플릿은 연결 문자열 사용하여 소스 복제본 세트 또는 독립형 클러스터 에 연결하고 덤프 아카이브를 파일 로 출력합니다.

    템플릿을 원하는 텍스트 편집기에 복사하고 <connectionString> 자리 표시자를 소스 배포서버 대한 연결 문자열 로 바꾸고 <fileName>을 생성할 아카이브 파일 의 이름으로 바꿉니다.

    mongodump --uri "<connectionString>" --archive=<fileName>.archive

    소스 배포서버 에 대한 연결 문자열 구성하는 방법을 학습 연결 문자열을 참조하세요.

    참고

    Ubuntu 에서 mongorestore 또는 mongodump 를 사용하는 18 경우.04 옵션과 cannot unmarshal DNS 함께 SRV 연결 문자열(mongodb+srv:// 형식)을 사용할 때 오류 메시지가 표시될 --uri 수 있습니다. 이 경우 다음 옵션 중 하나를 대신 사용합니다.

    • 비SRV 연결 문자열 있는 --uri 옵션(mongodb:// 형식)

    • 직접 연결할 호스트를 지정하는 --host 옵션

  2. 소스 배포서버 에 대한 네트워크 액세스 이 있는 호스팅하다 의 명령 프롬프트 또는 터미널에서 완료된 명령을 실행합니다.

    예시

    다음 mongodump 명령은 admin에서 backup 역할 가진 데이터베이스 사용자의 사용자 이름 (mySourceUsername) 및 비밀번호(mySourcePassword)가 포함된 SRV 연결 문자열 사용하여 소스 Atlas Core 클러스터 에 연결합니다. 데이터베이스 . 이 명령은 현재 작업 디렉토리 의 mongodump.archive 파일 에 덤프 아카이브를 출력합니다.

    mongodump --uri "mongodb+srv://mySourceUsername:mySourcePassword@cluster0.example.mongodb.net" \
    --archive="mongodump.archive"
5
  1. mongorestore 명령을 조합합니다.

    다음 mongorestore 명령 템플릿은 연결 문자열 사용하여 대상 Atlas Infinite 클러스터 에 연결하고 mongodump에서 생성된 아카이브를 복원합니다. --nsExclude을 사용하여 Atlas 관리하는 admin 및 config 데이터베이스를 제외합니다.

    템플릿을 원하는 텍스트 편집기에 복사하고 다음 자리 표시자를 적절한 값으로 바꿉니다.

    • <connectionString>: 이 문자열을 대상 Atlas Infinite 클러스터 의 SRV 연결 문자열 로 바꿉니다. 대상 클러스터 에 대한 연결 문자열 조회 하거나 구성하려면 연결 문자열을 참조하세요.

      연결 문자열 에 Atlas admin 역할 가진 데이터베이스 사용자의 사용자 이름 과 비밀번호를 포함합니다.

    • <filePath>: 이 경로를 mongodump가 생성한 아카이브 파일 의 경로로 바꿉니다.

    참고

    사용자 이름 또는 비밀번호에 다음 문자가 포함된 경우 해당 문자는 퍼센트 인코딩을 사용하여 변환해야 합니다.

    $ : / ? # [ ] @
    mongorestore --uri "<connectionString>" \
    --archive="<filePath>" \
    --nsExclude "admin.*" \
    --nsExclude "config.*"
  2. mongodump가 생성한 아카이브 파일 에 액세스 할 수 있는 호스팅하다 의 명령 프롬프트 또는 터미널에서 완료된 명령을 실행합니다.

    예시

    다음 mongorestore 명령은 Atlas admin 역할 가진 데이터베이스 사용자의 사용자 이름 (myDestinationUsername)과 비밀번호(myDestinationPassword)가 포함된 SRV 연결 문자열 사용하여 Atlas Infinite 클러스터 에 연결합니다. 이 명령은 admin 및 config 데이터베이스를 제외하고 mongodump에 의해 생성된 mongodump.archive에 아카이브를 복원합니다.

    mongorestore --uri "mongodb+srv://myDestinationUsername:myDestinationPassword@cluster0.example.mongodb.net" \
    --archive="mongodump.archive" \
    --nsExclude "admin.*" \
    --nsExclude "config.*"
6

마이그레이션 이 완료되면 Atlas Infinite 클러스터 에 연결하여 데이터가 성공적으로 마이그레이션되었는지 확인하세요. 쿼리를 실행 대상 클러스터 에 컬렉션 및 문서가 있는지 확인할 수 있습니다.

7

마이그레이션 을 확인한 후, 소스 배포서버 대신 Atlas Infinite 클러스터 에 연결하도록 애플리케이션을 업데이트 . Atlas Infinite 클러스터 에 대해 올바른 연결 문자열 과 자격 증명 사용해야 합니다.

mongoimport는 JSON 또는 CSV 파일 읽고 각 기록 Atlas Infinite 클러스터 의 컬렉션 에 삽입합니다. 파일 타사 내보내기 도구에서 가져올 수 있습니다. MongoDB deployment 에서 Atlas Infinite 클러스터 로 데이터를 복원 하려면 MongoDB 배포에서 데이터 복원을 참조하세요.

이 절차를 실행 전에 다음 동작을 고려하세요.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Database & Network Access를 클릭합니다.

데이터베이스 & 이전 단계를 완료하면 네트워크 액세스 페이지가 표시됩니다.

2

mongoimport를 실행 Atlas cluster 에 쓰기 (write) 려면 데이터를 가져올 데이터베이스 에서 readWrite 권한이 있는 데이터베이스 사용자를 지정해야 합니다. 예시 를 들어 Atlas admin 역할 있는 사용자는 이러한 권한을 제공합니다.

해당 사용자가 없는 경우 사용자를 만듭니다:

  1. 아직 표시되지 않은 경우 Database Users 탭을 클릭합니다.

  2. 딸깍 하는 소리 Add New Database User.

  3. Atlas admin 0} 사용자를 추가합니다.

3
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.

  3. 사이드바에서 Database 제목 아래의 Clusters를 클릭합니다.

Clusters(클러스터) 페이지가 표시됩니다.

4

데이터를 마이그레이션할 Atlas 클러스터의 Connect를 클릭합니다.

5

를 실행 호스팅하다 IP 액세스 목록에 없는 mongoimport 경우 목록을 업데이트 . 다음 중 하나를 지정할 수 있습니다.

  • mongoimport가 실행될 서버의 공용 IP 주소 또는

  • VPC 피어링을 설정한 경우, 클라우드 공급자로 AWS를 선택했다면 상대방의 VPC CIDR 블록(또는 서브넷) 또는 상대방 VPC의 보안 그룹(Security Group) 중 하나를 사용해야 합니다.

6

연결 문자열 URI을 사용하여 Atlas 클러스터에 연결할 수 있습니다. 연결 대화 상자에서 다음 단계를 수행합니다.

  1. Drivers를 클릭합니다.

  2. 1단계에서 찾은 연결 문자열을 복사합니다.

  3. 패스워드를 루트 유저의 비밀번호로 바꾸고, 데이터베이스는 연결하고자 하는 데이터베이스의 이름으로 바꿉니다.

    중요

    제공된 @ 에서 <PASSWORD> 문자의 인스턴스를 모두 이스케이프해야 합니다. 예를 들면 p@ssword 는 p%40ssword이어야 합니다.

이 연결 문자열 mongoimport --uri 옵션에서 로 지정됩니다.

--host을 사용하는 경우 Atlas 클러스터가 복제본 세트라면 복제본 세트 이름도 검색해야 합니다. 예시:

myAtlasRS/atlas-host1:27017,atlas-host2:27017,atlas-host3:27017
7

대량 쓰기 (write) 작업은 한 번의 요청 으로 Atlas Infinite 클러스터 에 많은 쓰기를 전송하므로 네트워크 왕복이 줄어들고 쓰기 (write) 처리량 증가합니다. 기존 배포서버 또는 파일 에서 데이터를 복사하는 대신 쓰기 (write) 하는 문서를 Atlas Infinite 클러스터 에 쓰려면 이 방법을 선택합니다.

이 절차를 실행 전에 다음 동작을 고려하세요.

  • 대량 쓰기 (write) 동작: 대량 쓰기 (write) 요청 에서 지정하는 쓰기 (write) 작업 및 옵션은 MongoDB 쓰기 (write) 작업을 주문하고, 오류를 처리하고, 요청 결과를 보고하는 방법을 결정합니다. 이러한 선택 사항이 대량 쓰기 (write) 동작에 어떤 영향을 미치는지 학습 보려면 bulkWrite() 참조 페이지를 참조하세요.

  • 기타 인터페이스: 일괄 처리 로직 없이 소량의 문서를 쓰기 (write) 하려면 mongosh 또는 MongoDB 운전자 의 insertMany() 또는 insertOne()를 사용하거나, 붙여넣거나 입력한 JSON 문서를 삽입하는 Atlas UI 사용합니다.

1

이 절차의 대량 쓰기 (write) 작업을 실행 하려면 mongosh를 사용하여 클러스터 에 연결하세요. 방법을 학습 Atlas 클러스터에 연결을 참조하세요.

또한 MongoDB 운전자 사용하여 애플리케이션 코드, Atlas UI 또는 클러스터 에 연결된 다른 인터페이스에서 대량 쓰기 (write) 작업을 실행 수도 있습니다. 각 인터페이스에서 해당하는 작업에 대해 학습 대량 쓰기 작업을 참조하세요.

2

단일 컬렉션 에 쓰기 (write) 려면 bulkWrite()를 실행 . 쓰기 (write) 작업 유형 및 대량 쓰기 (write) 옵션에 대해 자세히 학습 bulkWrite()를 참조하세요.

예시 들어, 다음 명령은 inventory 컬렉션 에 두 개의 문서를 삽입합니다.

db.inventory.bulkWrite( [
{ insertOne: { document: {
_id: ObjectId("68b1c2d3e4f5a6b7c8d9e0f1"),
item: "notebook",
qty: 50
} } },
{ insertOne: { document: {
_id: ObjectId("68b1c2d3e4f5a6b7c8d9e0f2"),
item: "pencil",
qty: 100
} } }
] )

한 번의 요청 으로 여러 컬렉션 또는 데이터베이스에 쓰기 (write) bulkWrite()를 실행 각 작업에 대한 네임스페이스 지정합니다. 예시 들어, 다음 명령은 sales.inventory 컬렉션 에 문서 한 개를 삽입하고 supplies.inventory 컬렉션 에 문서 한 개를 삽입합니다.

db.getMongo().bulkWrite( [
{
namespace: "sales.inventory",
name: "insertOne",
document: { item: "notebook", qty: 50 }
},
{
namespace: "supplies.inventory",
name: "insertOne",
document: { item: "pencil", qty: 100 }
}
] )

기본값 으로 대량 쓰기 (write) 작업은 순서대로 실행 첫 번째 오류가 발생하면 중지됩니다. 실행 순서를 구성하는 방법을 학습 작업 실행을 참조하세요.

3

작업에서 반환하는 개수를 검토하고 각 대상 컬렉션 에서 문서 개수를 확인합니다.자세한 학습 은 출력을 참조하세요.

대량 쓰기 (write) 작업의 오류를 처리하다 방법을 학습 오류 처리를 참조하세요.

Atlas Infinite의 공개 미리 보기 제한 사항 전체 목록은 공개 미리 보기 가용성에 있습니다. Atlas Infinite 클러스터 에 데이터를 로드할 때는 다음과 같은 제한 사항이 적용 .