Docs Menu
Docs Home
/
MongoDB Atlas
/ /

온라인 아카이브

이 페이지의 내용

  • Atlas Online Archive Data Store 구성 예시
  • 구성 형식
  • stores
  • databases

참고

Atlas Data Federation 에서는 온라인 아카이브를 데이터 소스 로만 사용할 수 있습니다. 자세한 내용은 MongoDB Blog 게시 성능 개선 및 향상된 지표가 포함된 새로운 온라인 보관 를 참조하세요.

Atlas Data Federation 은 연합 데이터베이스 인스턴스 저장소로 Atlas 온라인 아카이브 를 지원합니다. 데이터에 대한 쿼리를 실행 하려면 연합 데이터베이스 인스턴스 저장 구성에서 온라인 아카이브에 대한 매핑을 정의해야 합니다.

중요

스토리지 구성의 정보는 MongoDB에서 내부적으로 볼 수 있으며, Atlas Data Federation의 성능을 모니터링하고 개선하기 위해 운영 데이터로 저장됩니다. 따라서 구성에서 PII 를 사용하지 않는 것이 좋습니다.

예시

다음 ID로 Amazon Web Services 가 지원하는 Atlas Online Archive를 가정해 보겠습니다.

v1$atlas$archive$V3metrics$hardware$69437250-b9da-4ae9-a1cd-8811462c38a4$64679f7c09f07374b4dcc914

온라인 아카이브에는 Atlas cluster 의 metrics.hardware 에서 보관된 데이터가 포함되어 있습니다. 다음 구성:

  • us-east-1 Amazon Web Services 리전에 있는 Atlas Online Archive를 연합 데이터베이스 인스턴스 저장소로 지정합니다.

  • Atlas Online Archive의 문서를 스토리지 구성의 dataCenter.inventory collection에 매핑합니다.

{
"stores" : [
{
"name" : "atlasOnlineArchiveStore",
"provider" : "dls:aws",
"region" : "us-east-1"
}
],
"databases" : [
{
"name" : "dataCenter",
"collections" : [
{
"name" : "inventory",
"dataSources" : [
{
"storeName" : "atlasOnlineArchiveStore",
"datasetName" : "v1$atlas$archive$V3metrics$hardware$69437250-b9da-4ae9-a1cd-8811462c38a4$64679f7c09f07374b4dcc914",
"provider" : "dls:aws"
}
]
}
]
}
]
}

참고

Amazon Web Services 는 Atlas Online Archive를 지원하므로 이 예제에서는 providerdls:aws 로 설정됩니다. Azure 가 온라인 아카이브를 지원하는 경우 providerdls:azure 가 됩니다.

Atlas Data Federation은 Atlas Online Archive의 모든 문서를 스토리지 구성의 dataCenter.inventory collection에 매핑합니다.

연합 데이터베이스 인스턴스에 연결된 사용자는 MongoDB 쿼리 언어와 지원되는 애그리게이션을 사용하여 dataCenter.inventory collection을 통해 Atlas cluster의 데이터를 분석할 수 있습니다.

Atlas Online Archive 의 연합 데이터베이스 인스턴스 구성 형식은 다음과 같습니다.

1{
2 "stores" : [
3 {
4 "name" : "<string>",
5 "provider": "<string>",
6 "region": "<string>"
7 }
8 ],
9 "databases" : [
10 {
11 "name" : "<string>",
12 "collections" : [
13 {
14 "name" : "<string>",
15 "dataSources" : [
16 {
17 "storeName" : "<string>",
18 "datasetName" : "<string>",
19 "datasetPrefix": "<string>",
20 "trimLevel": <int>,
21 "provenanceFieldName": "<string>",
22 "maxDatasets": <int>
23 }
24 ]
25 }
26 ],
27 "views" : [
28 {
29 "name" : "<string>",
30 "source" : "<string>",
31 "pipeline" : "<string>"
32 }
33 ]
34 }
35 ]
36}
37
1"stores" : [
2 {
3 "name" : "<string>",
4 "provider": "<string>",
5 "region": "<string>"
6 }
7]
stores

각 객체 가 연합 데이터베이스 인스턴스 와 연결할 데이터 저장 를 나타내는 객체 배열입니다. 연합 데이터베이스 인스턴스 저장 는 S3 버킷의 파일, Atlas cluster 의 문서, 공개적으로 액세스할 수 있는 URL에 저장된 파일 또는 Atlas 온라인 아카이브를 참조합니다. Atlas Data Federation 은 stores 객체 에 정의된 데이터 저장소에만 액세스 할 수 있습니다.

stores.[n].name

연합 데이터베이스 인스턴스 저장 의 이름입니다. databases.[n].collections.[n].dataSources.[n].storeName 필드 는 매핑 구성의 일부로 이 값을 참조합니다.

stores.[n].provider

스냅샷 데이터가 저장되는 클라우드 공급자. 스냅샷의 값은 dls:<subtype> 이어야 합니다. Atlas Data Federation은 다음 하위 유형을 지원합니다.

  • aws, 이 값은 다음과 같아야 합니다. dls:aws

stores.[n].region

온라인 아카이브의 리전 이름입니다. 각 저장 는 보관된 데이터가 저장되는 단일 리전 과 연결됩니다. 서로 다른 리전에 여러 온라인 아카이브가 있는 경우 각 리전 의 저장 를 추가하여 해당 리전 의 데이터를 연합 데이터베이스 인스턴스 의 가상 데이터베이스 및 컬렉션 에 매핑해야 합니다.

Amazon Web Services 에 대해 지원되는 리전에 대해 자세히 알아보려면 Atlas Data Federation 리전을 참조하십시오.

1"databases" : [
2 {
3 "name" : "<string>",
4 "collections" : [
5 {
6 "name" : "<string>",
7 "dataSources" : [
8 {
9 "storeName" : "<string>",
10 "datasetName" : "<string>",
11 "datasetPrefix": "<string>",
12 "trimLevel": <int>,
13 "provenanceFieldName": "<string>",
14 "maxDatasets": <int>
15 }
16 ]
17 }
18 ],
19 "views" : [
20 {
21 "name" : "<string>",
22 "source" : "<string>",
23 "pipeline" : "<string>"
24 }
25 ]
26 }
27]
databases

stores 에 정의된 각 연합 데이터베이스 인스턴스 저장 와 온라인 아카이브 간의 매핑을 정의하는 객체의 배열입니다. 각 객체 는 데이터베이스, 해당 컬렉션 및 선택적으로 컬렉션에 대한 모든 를 나타냅니다. 각 데이터베이스 에는 여러 개의 collectionsviews 객체가 있을 수 있습니다.

databases.[n].name

Atlas Data Federation이 데이터 저장소에 포함된 데이터를 매핑하는 데이터베이스의 이름입니다.

databases.[n].collections

각 객체가 stores 연합 데이터베이스 인스턴스 저장소에 매핑되는 컬렉션 및 데이터 소스를 나타내는 객체 배열입니다.

databases.[n].collections.[n].name

databases.[n].collections.[n].dataSources.[n].storeName에 포함된 데이터를 Atlas Data Federation이 매핑하는 컬렉션의 이름입니다. 배열의 각 객체는 컬렉션과 stores 배열의 객체 간의 매핑을 나타냅니다.

collection 이름에 * 를 지정하여 collection 이름을 동적으로 생성할 수 있습니다. collection 이름을 동적으로 생성하려면 다음도 지정해야 합니다.

와일드카드 컬렉션의 경우, Atlas Data Federation 은 먼저 네임스페이스$ 구분 기호의 필드 목록으로 분할한 다음 목록 왼쪽에서 여러 필드를 잘라내고 마지막으로 다음을 결합하여 데이터 세트 이름을 컬렉션 이름에 매핑합니다. 나머지 필드는 _ 를 사용합니다.

databases.[n].collections.[n].dataSources

각 객체 가 컬렉션 과 매핑할 stores 배열 의 연합 데이터베이스 인스턴스 저장 를 나타내는 객체 배열입니다. 컬렉션 의 모든 dataSources 가 온라인 아카이브 stores에 매핑되는 경우에만 와일드카드 컬렉션 에 dataSources 를 여러 개 지정할 수 있습니다.

databases.[n].collections.[n].dataSources.[n].storeName

<collection>에 매핑할 연합 데이터베이스 인스턴스 저장소의 이름입니다. stores 배열에 있는 객체의 name과 일치해야 합니다.

databases.[n].collections.[n].dataSources.[n].datasetName

컬렉션 과 매핑할 온라인 아카이브 데이터 세트의 이름입니다. datasetName 의 형식은 다음과 같습니다.

<version>$<type>$<subtype>$<clusterName>$<dbName>$<collectionName>$<archiveId>

예시

다음 온라인 아카이브 이름을 고려하세요.

v1$atlas$archive$clusterName$dbName$collections$archiveId

여기:

  • v1 버전입니다.

  • atlas 은(는) 데이터 소스의 유형입니다.

  • archive 하위 유형입니다.

  • clusterName 은(는) Atlas cluster의 이름입니다.

  • dbName 은(는) Atlas cluster에 있는 데이터베이스의 이름입니다.

  • collection 데이터베이스 의 컬렉션입니다.

  • archiveId 보관된 데이터의 고유 식별자입니다.

참고

와일드카드가 아닌 컬렉션 의 경우, databases.[n].collections.[n].dataSources.[n].datasetPrefix 옵션을 지정하면 이 옵션을 지정할 수 없는데, 이는 Atlas Data Federation 이 databases.[n].collections.[n].dataSources.[n].datasetPrefix 옵션을 통해 지정된 이름을 사용하여 최신 데이터 세트에 대한 컬렉션을 자동으로 생성하기 때문입니다.

databases.[n].collections.[n].dataSources.[n].datasetPrefix

와일드카드 collection에 필요합니다.

온라인 아카이브 데이터 세트 이름과 일치시킬 데이터 세트 이름 접두사입니다. 와일드카드 컬렉션에 대해 이 값을 설정하다 하면 Atlas Data Federation 은 접두사가 여기에 지정된 값과 일치하는 온라인 아카이브 데이터 세트 이름에만 컬렉션을 매핑합니다.

와일드카드가 아닌 컬렉션에 이 설정을 지정하면 Atlas Data Federation은 가장 최근에 캡처한 스냅샷의 최신 데이터 세트만 컬렉션에 매핑합니다. 와일드카드가 아닌 컬렉션에 대해 이 옵션을 지정하는 경우에도 databases.[n].collections.[n].dataSources.[n].datasetName 를 지정할 수 없습니다.

예시

{
...,
"name": "myFederatedDbCollection",
"dataSources": [
{
"storeName": "aws-dl-store",
"datasetPrefix": "v1$atlas$archive$MyCluster$MyDB$MyArchiveId"
}
]
}
databases.[n].collections.[n].dataSources.[n].trimLevel

나머지 필드를 와일드카드 collection 이름에 매핑하기 전에 데이터 세트 이름 왼쪽에서 잘라낼 데이터 세트 이름의 필드 수를 지정하는 부호 없는 정수입니다. 값은 0 보다 크고 7 보다 작아야 합니다. 와일드카드 collection에 대해서만 이 설정을 지정할 수 있습니다.

Atlas UI의 시각 편집기를 사용하여 이 설정을 구성할 수 없습니다. 따라서 이 설정은 기본적으로 비주얼 편집기를 사용하는 구성의 경우 트림 수준 5 로 설정됩니다.

databases.[n].collections.[n].dataSources.[n].provenanceFieldName

결과에 있는 문서의 출처를 포함하는 필드의 이름입니다. 스토리지 구성에서 이 설정을 지정하면 Atlas Data Federation은 결과의 각 문서에 대해 다음 필드를 반환합니다.

필드 이름
설명

provider

연합 데이터베이스 인스턴스stores.[n].provider 저장 구성의 제공자( )

clusterName

Atlas cluster의 이름

databaseName

Atlas cluster에 있는 데이터베이스의 이름

collectionName

collection 이름

snapshotID

스냅샷을 식별하는 고유한 24자리 16진수 문자열

dataSetName

온라인 아카이브 데이터 세트의 이름(databases.[n].collections.[n].dataSources.[n].datasetName)

Atlas UI의 비주얼 편집기를 사용하여 이 설정을 구성할 수 없습니다.

databases.[n].collections.[n].dataSources.[n].maxDatasets

데이터 소스에 대한 collection을 동적으로 생성할 데이터 세트의 최대 개수를 지정하는 부호 없는 정수입니다. 0 보다 큰 값을 제공해야 합니다. 와일드카드 collection에 대해서만 이 설정을 지정할 수 있습니다. Atlas Data Federation은 사전순 역순으로 데이터 세트를 반환합니다.

참고

Atlas UI의 시각 편집기를 사용하여 이 설정을 구성할 수 없습니다. 따라서 Atlas Data Federation 구성에는 비주얼 편집기를 사용하는 구성에 대한 데이터 세트 수에 대한 제한이 포함되어 있지 않습니다.

돌아가기

배포