Atlas Data Federation은 연합 데이터베이스 인스턴스 저장소로 공개적으로 액세스할 수 있는 URL을 지원합니다. 데이터에 대한 쿼리를 실행하려면 연합 데이터베이스 인스턴스에서 HTTP 데이터 저장소에 대한 매핑을 정의해야 합니다.
중요
스토리지 구성의 정보는 MongoDB에서 내부적으로 볼 수 있으며, Atlas Data Federation의 성능을 모니터링하고 개선하기 위해 운영 데이터로 저장됩니다. 따라서 구성에 PII 를 사용하지 않는 것이 좋습니다.
HTTP 데이터 저장소 구성 예시
데이터 센터에서 수집한 데이터를 포함하는 URL https://www.datacenter-hardware.com/data.json
, https://www.datacenter-software.com/data.json
및 https://www.datacenter-metrics.com/data.json
를 가정해 보겠습니다. 다음 구성:
연합 데이터베이스 인스턴스 저장소로서 파일에 데이터를 포함하고 공개적으로 액세스할 수 있는 URL을 지정합니다.
각 URL 에 대한 파티션을 생성합니다.
{ "stores" : [ { "name" : "httpStore", "provider" : "http", "allowInsecure" : false, "urls" : [ "https://www.datacenter-hardware.com/data.json", "https://www.datacenter-software.com/data.json" ], "defaultFormat" : ".json" } ], "databases" : [ { "name" : "dataCenter", "collections" : [ { "name" : "inventory", "dataSources" : [ { "storeName" : "httpStore", "allowInsecure" : false, "urls" : [ "https://www.datacenter-metrics.com/data" ], "defaultFormat" : ".json" } ] } ] } ] }
구성 형식
연합 데이터베이스 인스턴스 구성의 형식은 다음과 같습니다.
1 { 2 "stores" : [ 3 { 4 "name" : "<string>", 5 "provider": "<string>", 6 "defaultFormat" : "<string>", 7 "allowInsecure": <boolean>, 8 "urls": ["<string>"] 9 } 10 ], 11 "databases" : [ 12 { 13 "name" : "<string>", 14 "collections" : [ 15 { 16 "name" : "<string>", 17 "dataSources" : [ 18 { 19 "storeName" : "<string>", 20 "allowInsecure" : <boolean>, 21 "urls" : ["<string>"], 22 "defaultFormat" : "<string>", 23 "provenanceFieldName": "<string>" 24 } 25 ] 26 } 27 ], 28 "views" : [ 29 { 30 "name" : "<string>", 31 "source" : "<string>", 32 "pipeline" : "<string>" 33 } 34 ] 35 } 36 ] 37 }
stores
stores
객체는 연합 데이터베이스 인스턴스와 연결된 각 데이터 저장소를 정의합니다. 연합 데이터베이스 인스턴스 저장소는 공개적으로 액세스할 수 있는 URL에 저장된 파일을 캡처합니다. Data Federation은stores
객체에 정의된 데이터 저장소에만 액세스할 수 있습니다.databases
databases
객체는stores
에 정의된 각 연합 데이터베이스 인스턴스 저장소와 데이터베이스의 MongoDB 컬렉션 간의 매핑을 정의합니다.
stores
1 "stores" : [ 2 { 3 "name" : "<string>", 4 "provider" : "<string>", 5 "allowInsecure": <boolean>, 6 "urls" : ["<string>"], 7 "defaultFormat" : "<string>" 8 } 9 ]
필드 | 유형 | 필요성 | 설명 | |
---|---|---|---|---|
배열 | 필수 | 각 객체 연합 데이터베이스 인스턴스 와 연결할 데이터 저장 나타내는 객체 배열입니다. 연합 데이터베이스 인스턴스 저장 공개적으로 액세스할 수 있는 URL에 저장된 파일을 캡처합니다. Atlas Data Federation | ||
문자열 | 필수 | 연합 데이터베이스 인스턴스 저장 의 이름입니다. | ||
문자열 | 필수 |
| ||
부울 | 필수 | 선택 사항. 지정된 URL의 체계의 유효성을 검사합니다. 값은 다음 중 하나일 수 있습니다.
true(참)인 경우 Atlas Data Federation:
경고: 이 값을 생략하면 기본값은
| ||
배열 | 옵션 | 데이터가 저장되는 공개적으로 액세스할 수 있는 HTTP URL 의 쉼표로 구분된 목록입니다. 인증 필요한 URL은 지정할 수 없습니다. | ||
문자열 | 옵션 | Data Federation이
중요: 파일 형식이 이를 생략할 경우 Data Federation은 일부 파일 바이트를 처리하여 파일 형식을 감지하려고 시도합니다. 지정된 형식은 객체에 팁 |
databases
1 "databases" : [ 2 { 3 "name" : "<string>", 4 "collections" : [ 5 { 6 "name" : "<string>", 7 "dataSources" : [ 8 { 9 "storeName" : "<string>", 10 "allowInsecure" : <boolean>, 11 "urls" : ["<string>"], 12 "defaultFormat" : "<string>", 13 "provenanceFieldName": "<string>" 14 } 15 ] 16 } 17 ] 18 } 19 ]
필드 | 유형 | 필요성 | 설명 | ||||||
---|---|---|---|---|---|---|---|---|---|
배열 | 필수 | 각 객체 가 데이터베이스, 해당 컬렉션 및 선택적으로 컬렉션의뷰를 나타내는 객체 배열입니다. 각 데이터베이스 에는 여러 개의 | |||||||
문자열 | 필수 | Atlas Data Federation이 데이터 저장소에 포함된 데이터를 매핑하는 데이터베이스의 이름입니다. | |||||||
배열 | 필수 | 각 객체는 | |||||||
문자열 | 필수 | Atlas Data Federation 각 중요와일드카드 * 컬렉션은 HTTP (하이퍼텍스트 전송 프로토콜) 저장소에 사용할 수 없습니다. | |||||||
배열 | 문자열 | 각 객체 컬렉션 과 매핑할 | |||||||
문자열 | 필수 | ||||||||
부울 | 필수 | 선택 사항. 지정된 URL의 체계의 유효성을 검사합니다. 값은 다음 중 하나일 수 있습니다.
true(참)인 경우 Atlas Data Federation:
경고: 이 값을 생략하면 기본값은
| |||||||
배열 | 옵션 | 데이터가 저장된 공개적으로 액세스할 수 있는 URL의 쉼표로 구분된 목록입니다. 연합 데이터베이스 인스턴스는 각 URL에 대한 파티션을 생성합니다. 에 없는 URL 을 생략하면 Data Federation 지정된 에서 을(를) | |||||||
문자열 | 옵션 | Data Federation이
중요: 파일 형식이 이를 생략할 경우 Data Federation은 일부 파일 바이트를 처리하여 파일 형식을 감지하려고 시도합니다. 지정된 형식은 객체에 팁 | |||||||
문자열 | 필수 | 결과에 있는 문서의 출처를 포함하는 필드의 이름입니다. 스토리지 구성에서 이 설정을 지정하면 Atlas Data Federation은 결과의 각 문서에 대해 다음 필드를 반환합니다.
Atlas UI의 비주얼 편집기를 사용하여 이 설정을 구성할 수 없습니다. | |||||||
배열 | 필수 | ||||||||
문자열 | 필수 | 뷰의 이름을 지정합니다. | |||||||
문자열 | 필수 | 뷰에 대한 소스 컬렉션 의 이름입니다. $sql 단계를 사용하여 뷰를 만들려면 SQL 성명서 소스 컬렉션 지정하므로 이 필드 생략해야 합니다. | |||||||
배열 | 필수 |
HTTP 데이터 저장소 구성 예시
데이터 센터에서 수집한 데이터가 포함된 URL,, 를 생각해 보세요. https://www.datacenter-hardware.com/data.json
https://www.datacenter-software.com/data.json
https://www.datacenter-metrics.com/data.json
다음 구성:
연합 데이터베이스 인스턴스 저장소로서 파일에 데이터를 포함하고 공개적으로 액세스할 수 있는 URL을 지정합니다.
각 URL 에 대한 파티션을 생성합니다.
{ "stores" : [ { "name" : "httpStore", "provider" : "http", "allowInsecure" : false, "urls" : [ "https://www.datacenter-hardware.com/data.json", "https://www.datacenter-software.com/data.json" ], "defaultFormat" : ".json" } ], "databases" : [ { "name" : "dataCenter", "collections" : [ { "name" : "inventory", "dataSources" : [ { "storeName" : "httpStore", "allowInsecure" : false, "urls" : [ "https://www.datacenter-metrics.com/data" ], "defaultFormat" : ".json" } ] } ] } ] }