문서 메뉴
문서 홈
/
MongoDB 아틀라스
/ /

온라인 아카이브 구성

이 페이지의 내용

  • 개요
  • 필요한 액세스 권한
  • Atlas CLI를 통한 온라인 아카이브 구성
  • API를 통한 온라인 아카이브 구성
  • 사용자 인터페이스를 통한 온라인 아카이브 구성
  • 제한 사항

중요

서버리스 인스턴스에서는 사용할 수 없는 기능입니다.

현재 서버리스 인스턴스는 이 기능을 지원하지 않습니다. 자세한 내용은 서버리스 인스턴스 제한 사항을 참조하세요.

보관 규칙을 지정하여 보관할 컬렉션의 데이터를 구성할 수 있습니다. 다음에 대한 보관 규칙:

  • 시계열 컬렉션은 데이터 보관 시기를 결정하는 데 사용되는 시간과 Atlas 클러스터가 데이터를 저장하는 일 수를 나타내는 숫자 값의 조합입니다.

  • 표준 컬렉션은 다음 중 하나일 수 있습니다.

    • 데이터 보관 시기를 결정하는 데 사용되는 날짜와 Atlas 클러스터가 데이터를 저장하는 일수를 나타내는 숫자 값의 조합입니다.

    • 보관할 문서를 선택하는 데 사용되는 사용자 정의 쿼리입니다.

온라인 아카이브를 위해 Atlas 클러스터를 구성하려면 다음과 같이 하세요.

  1. 컬렉션 네임스페이스와 컬렉션에 보관할 데이터를 선택하기 위한 기준을 제공하여 보관 규칙을 만듭니다.

  2. (선택 사항) 자주 쿼리하는 필드를 지정하여 보관된 데이터를 분할합니다.

클러스터에서 온라인 아카이브를 구성하면 Atlas는 클러스터에 아카이브 전용과 클러스터 및 아카이브용으로 2개의 연합 데이터베이스 인스턴스를 생성합니다.

Online Archive를 만들려면 프로젝트에 대한 액세스 권한이 Project Data Access Admin 이상이어야 합니다.

아카이브가 사용 가능한지 확인하려면 프로젝트에 대한 Project Read Only 이상의 액세스 권한이 있어야 합니다.

참고

온라인 아카이브는 7일 후에 5MiB 크기 미만의 데이터를 보관하지 않습니다. Atlas가 아카이브를 생성한 직후 7일 동안 Atlas는 모든 데이터를 아카이브합니다. 7일 후 Atlas는 데이터 크기가 5MiB에 도달한 경우에만 데이터를 보관합니다.

Atlas CLI를 사용하여 클러스터에 대한 온라인 아카이브를 생성하려면 다음 명령을 실행합니다.

atlas clusters onlineArchives create [options]

Atlas CLI를 사용하여 특정 온라인 아카이브를 사용할 수 있는지 확인하려면 다음 명령을 실행하세요.

atlas clusters onlineArchives watch <archiveId> [options]

이전 명령의 구문 및 매개변수에 대해 자세히 알아보려면 Atlas cluster onlineArchives createAtlas cluster onlineArchives watch에 대한 Atlas CLI 설명서를 참조하세요.

참조: 관련 링크

참고

온라인 아카이브는 7일 후에 5MiB 크기 미만의 데이터를 보관하지 않습니다. Atlas가 아카이브를 생성한 직후 7일 동안 Atlas는 모든 데이터를 아카이브합니다. 7일 후 Atlas는 데이터 크기가 5MiB에 도달한 경우에만 데이터를 보관합니다.

API에서 온라인 아카이브를 구성하려면 onlineArchives 엔드포인트에 POST 요청을 보냅니다.

참고

DATE 기준을 사용하는 경우 파티션 키의 일부로 date 필드를 지정해야 합니다.

클러스터에 동일한 데이터베이스 및 컬렉션에 대해 동일한 보관 규칙을 가진 Active Atlas Online Archive가 이미 있는 경우 작업이 실패합니다. 그러나 기존 Atlas Online Archive가 Paused 또는 Deleted 상태인 경우 새 Atlas Online Archive가 생성되고 상태가 Active 로 설정됩니다. 구문 및 옵션에 대해 자세히 알아보려면 API를 참조하세요.

참고

온라인 아카이브는 7일 후에 5MiB 크기 미만의 데이터를 보관하지 않습니다. Atlas가 아카이브를 생성한 직후 7일 동안 Atlas는 모든 데이터를 아카이브합니다. 7일 후 Atlas는 데이터 크기가 5MiB에 도달한 경우에만 데이터를 보관합니다.

온라인 아카이브를 구성하려면 Atlas UI에서 다음을 수행합니다.

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

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

  3. Clusters 페이지가 아직 표시되지 않은 경우 사이드바에서 Database를 클릭합니다.

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

2
  1. 클러스터 이름을 클릭합니다.

  2. Online Archive 탭을 클릭합니다.

    Online Archive 페이지가 표시됩니다.

3

컬렉션에 대한 온라인 아카이브를 구성하려면 다음을 클릭합니다.

  • Configure Online Archive 버튼을 클릭합니다.

  • Add Archive 버튼을 이어서 클릭합니다.

4
5
  1. 데이터베이스 이름, 점(.) 구분 기호, 컬렉션 이름(즉, <database>.<collection>)을 포함하는 컬렉션 네임스페이스를 Namespace 필드에 지정합니다.

    온라인 아카이브가 생성된 후에는 네임스페이스를 수정할 수 없습니다.

  2. 아카이브된 데이터를 저장할 클라우드 제공자 리전을 선택합니다.

    다른 지역을 선택하면 더 높은 데이터 전송 비용이 발생할 수 있으므로 가능하면 클러스터와 동일한 리전을 선택하는 것이 좋습니다.

    Atlas는 클러스터가 배포된 클라우드 제공자를 기반으로 클라우드 제공자 리전을 표시합니다. 멀티 클라우드 클러스터의 경우 Atlas는 우선 순위가 가장 높은 제공자의 클라우드 제공자 리전을 표시합니다. Atlas는 클러스터가 배포된 리전과 거의 또는 정확히 일치하는 리전 옆에 을(를) 표시합니다.

    AWS에 배포된 Atlas cluster의 경우 다음 리전 중 하나를 선택할 수 있습니다.

    Data Federation 리전
    AWS 리전
    미국 버지니아주
    미국 동부 1(us-east-1)
    미국 오리건주
    us-west-2
    브라질 상파울루
    sa-east-1
    아일랜드
    유럽 서부-1
    영국 런던
    유럽 서부-2
    독일 프랑크푸르트
    eu-central-1
    도쿄, 일본
    ap-northeast-1
    인도 뭄바이
    ap-south-1
    싱가포르
    아시아 태평양 남동부 1(AP-SOUTH-EAST-1)
    호주 시드니
    아시아 태평양 남동부 2(AP-SOUTH-EAST-2)
    캐나다 몬트리올
    ca-central-1

    Azure 에 배포된 Atlas 클러스터의 경우, 클러스터에 다른 클라우드 제공자를 사용하는 다른 Online Archive가 없는 경우에만 Azure 리전을 선택할 수 있습니다. 클러스터의 기존 Online Archive가 보관된 데이터를 저장하기 위해 AWS 또는 Google Cloud를 사용하는 경우, 해당 클러스터의 새 Online Archive에 대해 AWS 또는 Google Cloud 리전만 선택할 수 있습니다.

    참고

    Azure 에 배포된 클러스터의 경우 AWS 또는 Google Cloud를 사용하는 기존 Online Archive가 있고 이를 삭제하는 경우 Azure 를 사용하는 새 Online Archive를 만들 수 있기 전에 5일을 기다려야 합니다. 이 5일 기간 동안 새 온라인 아카이브를 만들려고 시도하면 여전히 원래 선택한 클라우드 제공자가 기본값으로 사용됩니다.

    Azure에 배포된 Atlas cluster의 경우 다음 리전 중 하나를 선택할 수 있습니다.

    Data Federation 리전
    Azure 리전
    미국 버지니아주
    US_EAST_2
    네덜란드
    EUROPE_WEST

    Google Cloud에 배포된 Atlas 클러스터의 경우, 클러스터에 다른 클라우드 제공자를 사용하는 다른 Online Archive가 없는 경우에만 Google Cloud 리전을 선택할 수 있습니다. 클러스터의 기존 온라인 아카이브가 보관된 데이터를 저장하기 위해 AWS 또는 Azure 를 사용하는 경우, 해당 클러스터의 새 온라인 아카이브에 대해 AWS 또는 Azure 리전만 선택할 수 있습니다.

    참고

    Google Cloud에 배포된 클러스터의 경우, AWS 또는 Azure 를 사용하는 기존 Online Archive가 있고 이를 삭제하는 경우, 5일을 기다려야 Google Cloud를 사용하는 새 Online Archive를 만들 수 있습니다. 이 5일 기간 동안 새 온라인 아카이브를 만들려고 시도하면 여전히 원래 선택한 클라우드 제공자가 기본값으로 사용됩니다.

    Google Cloud에 배포된 Atlas 클러스터의 경우 다음 리전 중 하나를 선택할 수 있습니다.

    Data Federation 리전
    Google Cloud 리전
    벨기에
    europe-west1
    미국 아이오와주
    us-central1

    참고

    Atlas에서 온라인 아카이브를 생성한 후에는 스토리지 리전을 수정할 수 없습니다.

  3. 보관하려는 컬렉션 유형에 따라 보관할 문서 선택 기준을 지정합니다.

    표준 collection의 경우 Atlas 사용자 인터페이스의 Date Match 또는 Custom Criteria 탭에서 보관할 문서를 선택하기 위한 기준을 지정합니다.

    날짜 필드와 일 수 조합을 사용하여 collection에서 문서를 선택하려면:

    • collection의 문서에서 이미 인덱싱된 날짜 필드를 지정합니다. 중첩된 필드를 지정하려면 점 표기법을 사용합니다.

    • Atlas cluster에 데이터를 보관할 일 수를 지정합니다.

    • 지정된 날짜 필드의 날짜 형식을 선택합니다.

      다음 형식 중 하나를 선택하는 경우 지정된 날짜 필드의 값은 BSON types long 이어야 합니다.

      • EPOCH_SECONDS

      • EPOCH_MILLIS

      • EPOCH_NANOSECONDS

      중요

      Online Archive가 생성되면 날짜 필드를 수정할 수 없습니다.

    사용자 지정 필터를 사용하여 컬렉션에서 문서를 선택하려면 실행할 유효한 JSON 필터를 지정합니다. Atlas는 지정된 사용자 지정 필터를 db.collection.find(filter) 명령과 함께 사용합니다. 빈 문서 인수({})를 사용하여 모든 문서를 반환할 수는 없습니다. 다음 예제와 같이 $expr 과 같은 MongoDB Atlas 연산자 를 사용하여 모든 애그리게이션 연산자를 활용할 수 있습니다.

    참고

    다음 예에서는 모든 문서에 날짜/시간 값이 있는 bucket_end_date 필드가 포함되어 있다고 가정합니다. 다음 예에서 Atlas는 bucket_end_date 필드를 포함하지 않는 모든 문서와 bucket_end_date 이 날짜/시간 값이 아닌 모든 문서를 보관합니다.

    예제

    이 사용자 지정 필터 예시에서 현재 날짜가 문서의 bucket_end_date 필드에 있는 날짜를 초과하는 경우 Atlas는 현재 날짜에서 30일(밀리초 단위로 지정)을 뺀 다음 그 수 일, 시간, 분 이후의 데이터를 보관합니다.

    {
    "$expr": { "$lte": [
    "$bucket_end_date",
    { "$subtract": [ "$$NOW", 2592000000 ] }
    ] }
    }

    이 사용자 지정 필터 예시에서 현재 날짜가 objectId 안의 날짜를 초과하면 Atlas는 현재 날짜에서 30일(밀리초 단위로 지정)을 뺀 다음 그 수의 일, 시간, 분 이후의 데이터를 보관합니다.

    {
    "$expr": {
    "$lte": [
    {"$toDate": "$_id"},
    { "$subtract": [ "$$NOW", 2592000000 ] }
    ]
    }
    }

    사용자 지정 필터에 $expr 을 사용하는 경우 Atlas cluster가 데이터 보관에 인덱스를 사용하지 못할 수 있습니다.

    참고

    $NOW MongoDB 4 을(를) 실행하는 Atlas 클러스터에서만 지원됩니다.2 이상.

    time series 컬렉션에 문서를 보관하려면 This is a Time-Series Collection 확인란을 선택하고 다음을 지정합니다.

    • 각 time series 문서의 날짜가 포함된 필드의 이름입니다. 이는 time series 컬렉션의 timeField 에 해당해야 합니다. 중첩된 필드를 지정하려면 점 표기법 을 사용합니다. 온라인 아카이브가 생성된 후에는 시간 필드를 수정할 수 없습니다.

    • Atlas cluster에 데이터를 보관할 일수입니다.

    • 지정된 날짜 필드의 날짜 형식입니다. 날짜 필드 값은 ISODate 형식이어야 합니다.

    참고

    Atlas는 인덱스 충분성 쿼리를 실행하여 보관 프로세스의 효율성을 측정합니다. 반환된 문서 수에 맞춰 스캔된 문서의 수가 10개 이상안 경우 쿼리 결과는 Index Sufficiency Warning(을)를 트리거합니다. 이러한 경고는 효율적인 보관 프로세스에 필요한 인덱스가 부족함을 나타냅니다. 날짜 기반 보관의 경우 날짜 필드를 인덱싱해야 합니다. 표현식을 사용하는 사용자 지정 기준의 경우 Atlas가 먼저 값을 변환한 후 쿼리와 비교하여 값을 평가할 수 있습니다.

6
  1. (선택 사항) Deletion Age Limit을(를) 지정합니다.

    기본적으로 Atlas는 보관된 데이터를 삭제하지 않습니다. 하지만 Deletion Age Limit를 지정할 경우 7 ~ 9125일 (25년)을 지정하여 보관된 데이터를 보관할 수 있습니다. Atlas는 여기에서 지정한 일수가 지나면 보관된 데이터를 삭제합니다. 이 데이터 만료 규칙은 Deletion Age Limit를 설정한 후 24 시간 후에 적용됩니다.

    경고

    Atlas에서 데이터를 삭제하면 데이터를 복구할 수 없습니다.

  2. (선택 사항) Schedule Archiving Window을(를) 지정합니다.

    기본적으로 Atlas는 주기적으로 쿼리를 실행하여 데이터를 아카이브합니다. 하지만 Schedule Archiving Window 키를 토글하여 Atlas에서 데이터를 보관하려는 기간을 명시적으로 스케줄링할 수 있습니다. 다음을 지정할 수 있습니다.

    • 빈도. 매일, 특정 요일 또는 매월 특정 날짜에 작업을 실행하도록 선택할 수 있습니다. 매월 29일, 30일, 31일에 데이터 아카이빙 작업을 예약하려는 경우, Atlas는 이러한 날짜가 없는 달(예: 2월)에는 아카이빙 작업을 실행하지 않습니다.

    • 시간 창, 시간 단위. Atlas가 데이터 보관 작업을 실행하는 기간을 선택하세요. 최소 2시간을 지정해야 합니다. 실행 중인 작업이 이 기간 동안 완료되지 않을 경우, Atlas는 완료될 때까지 해당 작업을 계속 실행합니다.

7
8

참고

아카이브에는 파티션 필드가 하나 이상 있어야 합니다.

컬렉션에서 가장 일반적으로 쿼리되는 필드를 Second most commonly queried fieldThird most commonly queried field 필드에 각각 최대 2개 입력합니다. 중첩된 필드를 지정하려면 점 표기법 을 사용합니다. 점 표기법을 사용하여 지정한 중첩 필드 주위에 따옴표("")를 포함하지 마세요.

경고

분할에는 마침표(.)가 포함된 필드 이름을 지정할 수 없습니다.

지정된 필드는 보관된 데이터를 분할하는 데 사용됩니다. 파티션은 폴더와 유사합니다. 날짜 필드는 Date Match 기준의 경우 기본값으로 파티션의 첫 번째 위치에 있습니다. 해당 필드로 자주 쿼리하는 경우 다른 필드를 파티션의 첫 번째 위치로 이동할 수 있습니다.

경로에 나열된 필드의 순서는 복합 인덱스에서와 같은 방식으로 중요합니다. 지정된 경로의 데이터는 먼저 첫 번째 필드의 값으로 분할된 후 다음 필드의 값으로 분할됩니다. Atlas는 파티션을 사용하여 지정된 필드에 대한 쿼리를 지원합니다.

예를 들어 sample_mflix 데이터베이스의 movies collection에 대한 Online Archive를 구성한다고 가정해 보겠습니다. 보관된 필드가 세 번째 위치로 이동한 released 날짜 필드이고, 첫 번째 쿼리된 필드가 title이며, 두 번째 쿼리된 필드가 plot인 경우 파티션은 다음과 유사하게 보입니다.

/title/plot/released

Atlas는 먼저 title 필드에 대한 파티션을 만들고, plot 필드, released 필드에 대해 파티션을 만듭니다. Atlas는 다음 필드에 대한 쿼리에 파티션을 사용합니다.

  • title 필드

  • title 필드, plot 필드

  • title plot 필드와 released 필드 및 필드로 구성됩니다.

또한 Atlas는 파티션을 사용하여 titlereleased 필드에 대한 쿼리를 지원할 수 있습니다. 그러나 이 경우 Atlas는 쿼리가 titleplot 필드에만 있는 경우만큼 효율적으로 쿼리를 지원하지 않습니다. 파티션은 순서대로 구문 분석되며 쿼리에서 특정 파티션이 누락되면 Atlas는 그 뒤에 오는 파티션을 사용하는 데 효율성이 떨어집니다. titlereleased 에 대한 쿼리에서 plot이(가) 생략하므로 Atlas는 title 파티션을 released 파티션보다 더 효율적으로 사용하여 이 쿼리를 지원합니다.

Atlas는 분할 전략을 사용하여 여기에 지정되지 않은 필드에 대한 쿼리를 효율적으로 지원할 수 없습니다. 또한 Atlas는 파티션을 사용하여 title 필드 없이 다음 필드를 포함하는 쿼리를 지원할 수 없습니다.

  • plot 필드

  • released 필드 또는

  • plotreleased 필드

문서에서 가장 일반적으로 쿼리되는 필드를 Most commonly queried fieldSecond most commonly queried field 필드에 각각 최대 2개까지 입력합니다. 중첩된 필드를 지정하려면 점 표기법 을 사용합니다. 점 표기법을 사용하여 지정한 중첩 필드 주위에 따옴표("")를 포함하지 마세요.

지정된 필드는 보관된 데이터를 분할하는 데 사용됩니다. 파티션은 폴더와 유사합니다. 경로에 나열된 필드의 순서는 복합 인덱스 에서와 같은 방식으로 중요합니다. 지정된 경로의 데이터는 먼저 첫 번째 필드의 값으로 분할된 후 다음 필드의 값으로 분할됩니다. Atlas는 파티션을 사용하여 지정된 필드에 대한 쿼리를 지원합니다.

예를 들어 sample_mflix 데이터베이스의 movies 컬렉션에 대한 온라인 아카이브를 구성한다고 가정해 보겠습니다. 가장 많이 쿼리되는 필드가 genres 필드이고 두 번째로 쿼리된 필드가 title 인 경우 파티션은 다음과 유사하게 보입니다.

/genres/title

Atlas는 먼저 genres 필드에 대한 파티션을 만든 다음 title 필드에 대해 파티션을 만듭니다. Atlas는 다음 필드에 대한 쿼리에 파티션을 사용합니다.

  • genres 필드

  • genres 필드 및 title 필드.

또한 Atlas는 파티션을 사용하여 필드에 대한 쿼리만 지원할 수 title 있습니다. 그러나 이 경우 Atlas는 쿼리가 필드에만 있거나 및 필드에 있는 경우만큼 효율적으로 쿼리를 지원하지 genres genres title 않습니다. 파티션은 순서대로 구문 분석됩니다. 쿼리에서 특정 파티션이 생략되면 Atlas는 그 뒤에 오는 파티션을 사용하는 데 효율성이 떨어집니다. 이 title genres생략되므로 Atlas는 genres 파티션을 사용하여 이 쿼리를 지원하지 않습니다. 또한 Atlas는 파티션을 사용하여 필드 다음에 필드에 대한 쿼리를 지원하는 title 데 효율성이 genres 떨어집니다.

Atlas는 파티션을 사용하여 여기에 지정되지 않은 필드에 대한 쿼리를 지원할 수 없습니다.

컬렉션에서 가장 일반적으로 쿼리되는 필드를 Second most commonly queried fieldThird most commonly queried field 필드에 각각 최대 2개 입력합니다. 중첩된 필드를 지정하려면 점 표기법 을 사용합니다. 점 표기법을 사용하여 지정한 중첩 필드 주위에 따옴표("")를 포함하지 마세요.

경고

분할에는 마침표(.)가 포함된 필드 이름을 지정할 수 없습니다.

지정된 필드는 보관된 데이터를 분할하는 데 사용됩니다. 파티션은 폴더와 유사합니다. 날짜 필드는 Date Match 기준의 경우 기본값으로 파티션의 첫 번째 위치에 있습니다. 해당 필드로 자주 쿼리하는 경우 다른 필드를 파티션의 첫 번째 위치로 이동할 수 있습니다.

경로에 나열된 필드의 순서는 복합 인덱스에서와 같은 방식으로 중요합니다. 지정된 경로의 데이터는 먼저 첫 번째 필드의 값으로 분할된 후 다음 필드의 값으로 분할됩니다. Atlas는 파티션을 사용하여 지정된 필드에 대한 쿼리를 지원합니다.

예를 들어 sample_mflix 데이터베이스의 movies collection에 대한 Online Archive를 구성한다고 가정해 보겠습니다. 보관된 필드가 세 번째 위치로 이동한 released 날짜 필드이고, 첫 번째 쿼리된 필드가 title이며, 두 번째 쿼리된 필드가 plot인 경우 파티션은 다음과 유사하게 보입니다.

/title/plot/released

Atlas는 먼저 title 필드에 대한 파티션을 만들고, plot 필드, released 필드에 대해 파티션을 만듭니다. Atlas는 다음 필드에 대한 쿼리에 파티션을 사용합니다.

  • title 필드

  • title 필드, plot 필드

  • title plot 필드와 released 필드 및 필드로 구성됩니다.

또한 Atlas는 파티션을 사용하여 titlereleased 필드에 대한 쿼리를 지원할 수 있습니다. 그러나 이 경우 Atlas는 쿼리가 titleplot 필드에만 있는 경우만큼 효율적으로 쿼리를 지원하지 않습니다. 파티션은 순서대로 구문 분석되며 쿼리에서 특정 파티션이 누락되면 Atlas는 그 뒤에 오는 파티션을 사용하는 데 효율성이 떨어집니다. titlereleased 에 대한 쿼리에서 plot이(가) 생략하므로 Atlas는 title 파티션을 released 파티션보다 더 효율적으로 사용하여 이 쿼리를 지원합니다.

Atlas는 분할 전략을 사용하여 여기에 지정되지 않은 필드에 대한 쿼리를 효율적으로 지원할 수 없습니다. 또한 Atlas는 파티션을 사용하여 title 필드 없이 다음 필드를 포함하는 쿼리를 지원할 수 없습니다.

  • plot 필드

  • released 필드 또는

  • plotreleased 필드

  • AWS 에서 지원되는 문자만 포함된 필드를 선택합니다. 피해야 할 문자에 대해 자세히 알아보려면 객체 키 이름 만들기 를 참조하세요. . Atlas는 지원되지 않는 문자가 포함된 문서를 건너뛰고 보관하지 않습니다.

  • 다형성 데이터를 포함하지 않는 필드를 선택합니다. Atlas는 컬렉션에서 10개의 문서를 샘플링하여 파티션 필드의 데이터 유형을 결정합니다. 문서의 지정된 필드 값이 동일한 컬렉션에 있는 다른 문서의 값과 일치하지 않으면 Atlas는 문서를 보관하지 않습니다.

  • 자주 쿼리하는 필드를 선택하고 첫 번째 위치에서 가장 자주 쿼리하는 필드부터 마지막 위치에서 가장 적게 쿼리하는 필드까지 순서대로 정렬합니다. 예를 들어, 날짜 필드를 자주 쿼리하는 경우 날짜 필드를 첫 번째 위치에 두십시오. 그러나 다른 필드를 자주 쿼리하는 경우 해당 필드가 첫 번째 위치에 있어야 합니다.

참고

6월 2023 이전에 생성된 온라인 아카이브의 경우, MongoDB는 카디널리티가 높은 string 유형 필드를 온라인 아카이브의 쿼리 필드로 권장하지 않습니다. 카디널리티가 높은 string 유형의 필드의 경우 Atlas는 많은 수의 파티션을 만듭니다. 이는 6월 2023 이후에 생성된 온라인 아카이브에는 적용되지 않습니다. 자세한 내용은 MongoDB Blog 게시물을 참조하세요.

Atlas에서 지원하는 파티션 속성 유형은 다음과 같습니다.

  • date

  • double

  • int

  • long

  • objectId

  • string

  • boolean

지원되는 파티션 속성 유형에 대해 자세히 알아보려면 파티션 속성 유형을 참조하세요.

참고

explain 명령을 사용하여 쿼리를 충족하는 데 사용된 데이터 파티션에 대한 정보를 반환할 수 있습니다. 자세한 내용은 explain 를 참조하세요.

파티션은 쿼리 성능을 향상하지만 이러한 필드를 포함하지 않는 쿼리는 모든 보관 문서의 전체 컬렉션 스캔이 필요하므로 시간이 오래 걸리고 비용이 증가합니다. 파티션이 Atlas Data Federation에서 쿼리 성능을 향상하는 방법에 대해 자세히 알아보려면 S3의 Data Structure를 참조하세요.

9

온라인 아카이브 설정을 검토하고 확인하려면 Next 을 클릭합니다. 다음과 같은 보관 규칙 설정을 검토할 수 있습니다.

  • 데이터베이스 및 컬렉션의 이름

  • 클라우드 제공자 및 클라우드 제공자 리전 이름

  • 날짜 필드의 이름(Date Match에만 해당)

  • Atlas 클러스터에 데이터를 보관하는 일수(Date Match에만 해당)

  • 보관된 데이터를 삭제할 수 있는 기간(일수)

  • 데이터 보관 빈도 및 기간

  • 보관할 데이터를 식별하는 데 사용할 사용자 지정 쿼리(Custom Criteria에만 해당)

  • 파티션 필드

필요한 경우 Back을 클릭하여 이러한 설정을 수정합니다.

10

표시된 쿼리를 복사하고 mongosh 셸에 실행하여 5 단계에서 정의한 규칙의 기준과 일치하는 문서를 확인합니다. 쿼리에서 explain 을 실행하여 인덱스를 사용하는지 확인할 수 있습니다. 필드가 인덱싱되지 않은 경우 다음 단계로 진행하여 인덱스를 생성합니다. 필드가 이미 인덱싱된 경우 11 단계로 건너뜁니다.

11
12
  1. Confirm an online archive 탭에서 Begin Archiving 클릭합니다.

  2. Begin Archiving 창에서 Confirm을(를) 클릭합니다.

참고

문서가 보관을 위해 대기열에 추가되면 더 이상 문서를 수정할 수 없습니다. 아카이브된 데이터를 라이브 Atlas 클러스터로 다시 이동하려면 아카이브된 데이터 복원을 참조하세요.

클러스터당 최대 50개의 온라인 아카이브를 만들 수 있으며, 클러스터당 최대 20개의 아카이브를 활성화할 수 있습니다. 다음과 같은 제한 사항이 적용됩니다.

  • 동일한 네임스페이스에 여러 온라인 아카이브를 구성할 수 있지만 한 번에 하나만 활성화할 수 있습니다.

  • 동일한 컬렉션의 동일한 필드에 여러 개의 온라인 아카이브를 만들 수 없습니다.

  • 다음 시나리오에서는 Online Archive에 액세스할 수 없습니다.

    • 클러스터의 프라이머리 리전이 완전히 중단된 경우입니다.

    • 보관 데이터가 저장된 AWS S3이 중단된 경우.

  • 두 개 이상의 컬렉션에 대해 보관 규칙을 사용할 수 없습니다.

    참고

    여러 컬렉션의 데이터를 보관하는 것이 목표인 경우 각 컬렉션에 대한 보관 규칙을 만들어야 합니다.

  • 7일이 지나면 5MB 미만의 데이터는 보관할 수 없습니다. Atlas가 아카이브를 생성한 직후 7일 동안 Atlas는 모든 데이터를 보관합니다. 7일이 지나면 데이터 크기가 5MB에 도달할 때만 Atlas에서 데이터를 보관합니다.

  • Atlas가 데이터를 보관할 때 보관 조건을 충족하는 문서를 업데이트하거나 삽입하지 않도록 합니다. 그렇지 않으면 Atlas가 보관 실행 중에 데이터의 일관되지 않은 스냅샷을 캡처할 수 있습니다. 업데이트가 발생하면 보관되는 문서의 버전이 불확실합니다.

돌아가기

온라인 아카이브