문서 메뉴
문서 홈
/
MongoDB Atlas
/

Atlas Data Federation 개요

이 페이지의 내용

  • Atlas Data Federation 정보
  • 주요 개념
  • Atlas Data Federation 아키텍처
  • 샘플 사용
  • Atlas Data Federation 리전

Atlas Data Federation은 MongoDB Atlas 내부 및 외부의 다양한 소스에서 데이터를 기본적으로 쿼리, 변환, 이동할 수 있는 분산 쿼리 엔진입니다.

Federated Database Instance

연합 데이터베이스 인스턴스는 Atlas Data Federation의 배포서버입니다. 각 연합 데이터베이스 인스턴스에는 데이터 저장소의 데이터에 매핑되는 가상 데이터베이스와 컬렉션이 포함되어 있습니다.

Data Store

데이터 저장소는 데이터의 위치를 나타냅니다. Atlas Data Federation은 다음 데이터 저장소를 지원합니다.

  • Atlas 클러스터

  • Atlas Online Archive

  • Atlas Data Lake 데이터 세트

  • AWS S3 버킷

  • Azure Blob 저장

  • HTTPHTTPS 엔드포인트

Storage Configuration

저장 구성에는 가상 데이터베이스와 컬렉션 및 데이터 소스 간의 매핑이 JSON 형식으로 포함되어 있습니다. 저장 구성에서 이러한 매핑을 정의하여 데이터에 액세스하고 데이터에 대한 쿼리를 실행할 수 있습니다.

Atlas Data Federation 아키텍처
클릭하여 확대

앞의 다이어그램에서 데이터 플레인은 데이터가 있는 곳입니다. 다양한 저장 서비스에 있는 데이터에 액세스하도록 Atlas Data Federation을 구성할 수 있습니다. 구체적으로, Atlas Data Federation을 구성하여 AWS 리전 전반의 AWS S3 버킷, Azure Blob Storage container, Atlas cluster, HTTPHTTPS URL, Atlas Online Archive, Atlas Data Lake 데이터 세트에 있는 데이터에 액세스할 수 있습니다. 데이터 저장소에 액세스하도록 Atlas Data Federation을 구성하는 방법에 대해 자세히 알아보려면 연합 데이터베이스 인스턴스에 대한 데이터 저장소 정의를 참조하세요.

그런 다음 연합 데이터베이스 인스턴스에 대한 역할 기반 액세스 제어를 설정할 수 있습니다. 글로벌 연결 옵션을 통해 또는 특정 리전에 고정하여 클라이언트가 연합 데이터베이스 인스턴스에 연결하는 방법을 제어할 수 있습니다. 자세한 내용은 연합 데이터베이스 인스턴스에 연결 구성을 참조하세요.

Atlas Data Federation은 데이터 로컬리티를 보존하고 가능한 경우 로컬 계산을 최대화하여 데이터 전송을 최소화하고 성능을 최적화합니다. 앞의 다이어그램의 컴퓨팅 플레인 은 Atlas Data Federation이 모든 요청을 처리하는 위치를 보여줍니다. Atlas Data Federation은 데이터에 가장 가까운 리전에 에이전트로 구성된 탄력적인 풀을 제공하며, 여기서 Atlas Data Federation은 쿼리 데이터를 처리할 수 있습니다. 지원되는 리전에 대해 자세히 알아보려면 Atlas Data Federation 리전을 참조하세요.

Atlas Data Federation은 시스템 내부에 데이터를 유지하지 않으며 쿼리가 처리되면 연합 데이터베이스 인스턴스에만 메타데이터를 저장합니다. 이를 통해 데이터 주권 규정을 준수하고 법적 요구 사항에 따라 데이터를 저장하고 처리할 수 있습니다.

앞의 다이어그램의 컨트롤 플레인은 Atlas 컨트롤 플레인과 동일하며, Atlas Data Federation이 사용자 요청의 균형을 맞추고 최종 결과를 집계하는 곳입니다.

Atlas Data Federation은 처리를 위해 모든 데이터를 컴퓨팅 노드로 전송하지 않고 기본 스토리지 서비스에서 직접 쿼리의 특정 부분을 실행합니다. 또한 쿼리를 실행하면 먼저 쿼리를 계획한 다음 백엔드의 노드에 배포하는 Data Federation 프런트엔드 구성 요소에서 쿼리를 처리합니다. 그러면 백엔드 노드가 데이터 스토어에 직접 액세스하여 쿼리 로직을 실행하고 결과를 프런트엔드로 반환합니다. 이 프로세스는 이동할 데이터의 양을 줄여 전체 프로세스를 더 빠르고 저렴하게 만듭니다. 자세히 알아보려면 연합 데이터베이스 인스턴스 쿼리를 참조하십시오.

쿼리 성능을 최적화하기 위해 Atlas Data Federation은 다음을 수행합니다.

  • 클라우드 객체 스토리지의 경우 데이터 파티셔닝을 사용하여 쿼리 파라미터를 기반으로 처리해야 하는 파일을 선택합니다. 자세한 내용은 S3 데이터 경로 정의파티션 속성 유형 사용을 참조하세요. 또한 Parquet 메타데이터를 사용하여 행 그룹 선택 또는 열 프로젝션을 사용하여 Parquet 파일에서 검색하는 데이터의 양을 줄입니다. 자세한 내용은 Parquet 데이터 형식을 참조하십시오.

  • Atlas 클러스터의 경우 가능한 한 많은 쿼리를 클러스터로 '푸시다운'하려고 시도합니다. 예를 들어, 집계 파이프라인에 $match 단계가 있고 로컬에서 처리할 수 있는 경우, Atlas Data Federation은 Atlas cluster에서 해당 단계를 처리하려고 시도하고 후속 단계를 처리하기 위해 결과 문서만 연합 계층으로 다시 반환합니다. 자세히 알아보려면 Atlas 클러스터의 데이터 쿼리를 참조하세요.

  • Atlas Data Lake 데이터세트의 경우 파티션 인덱스를 사용하여 데이터세트에 대한 쿼리 속도를 높입니다. Atlas Data Lake 파티션 인덱스에는 쿼리를 충족하기 위해 기본 파일 저장소를 스캔하는 대신 반환하는 개수가 포함되어 있습니다. 자세히 알아보려면 Atlas Data Lake 데이터세트 또는 온라인 아카이브를 참조하십시오.

자세히 알아보려면 쿼리 성능 최적화를 참조하십시오.

MongoDB 언어별 드라이버 mongoshAtlas SQL 을 사용하여 Atlas Data Federation에 연결할 수 있습니다. 자세한 내용은 연합 데이터베이스 인스턴스에 연결을 참조하세요.

Atlas Data Federation을 사용하여 다음을 수행할 수 있습니다.

  • Atlas cluster 데이터를 Parquet 또는 AWS S3 버킷에 기록된 CSV 파일로 복사합니다.

  • 여러 Atlas 클러스터와 온라인 아카이브를 쿼리하여 Atlas 데이터를 전체적으로 파악할 수 있습니다.

  • Atlas cluster와 AWS S3 버킷에 걸친 애그리게이션에서 데이터를 구체화하세요.

  • AWS S3 버킷에서 데이터를 읽고 Atlas 클러스터로 가져옵니다.

참고

과도한 요금이 부과되지 않도록 하려면 S3 또는 Azure Blob Storage 데이터 소스와 동일한 AWS 또는 Azure 리전에 Atlas Data Federation을 생성하세요. AWS에서 생성된 연합 데이터베이스 인스턴스만 사용하여 AWS S3를 쿼리할 수 있으며, Azure에서 생성된 연합 데이터베이스 인스턴스만 사용하여 Azure Blob Storage를 쿼리할 수 있습니다.

Atlas Data Federation은 다음 리전 중 하나를 통해 연합 데이터베이스 요청을 라우팅합니다.

참고

연합 쿼리를 실행하면 요금이 부과됩니다. 자세한 내용은 Data Federation 비용을 참조하세요.

← Data Federation 설정 및 쿼리