Docs 菜单
Docs 主页
/
Atlas
/

Atlas Data Federation 概述

Atlas Data Federation 是一个分布式查询引擎,允许您在 MongoDB Atlas 内部和外部的各种源之间以原生方式查询、转换和移动数据。

Data Federation是一种将计算与存储分离的策略。使用Data Federation时,您可以将来自多个物理源的数据关联到应用程序的单个虚拟数据源中。这使您能够从单个端点查询数据,而无需物理复制或移动数据。

联合数据库实例是 Atlas Data Federation 的部署。每个联合数据库实例都包含虚拟数据库和集合,这些虚拟数据库和集合映射到数据存储中的数据。

虚拟数据库是一组集合,可将数据组织到单个虚拟位置。

虚拟集合是位于单个虚拟数据库中的一组MongoDB 文档(类似于关系数据库中的表)。集合不需要固定的模式。

数据存储是指数据所在的位置。 Atlas Data Federation支持以下数据存储:

  • Atlas cluster

  • Atlas 在线存档

  • AWS S3 存储桶

  • Azure Blob 存储

  • Google Cloud PlatformGoogle Cloud Platform存储

  • HTTPHTTPS 端点

重要

联合数据库实例仅限于同时使用 AWS S3 、 Azure Blob Storage 和 Google Cloud Storage 的一个实例。同样,跨Atlas项目的Data Federation也不可用。有关Data Federation限制的更多详细信息,请参阅Data Federation限制。

存储配置包含虚拟数据库、集合和数据存储之间的映射。您可以定义这些映射来访问权限和运行数据。

当您使用Atlas Data Federation时,联合数据库实例存在于区域VPC中。所有联合数据库实例数据流量,无论是流向Atlas集群还是云提供商对象存储,均经过 TLS加密。 TLS加密是Atlas Data Federation提供的主节点 (primary node in the replica set)网络安全形式。如果您的联合数据库实例和数据源(Atlas 集群、S3 、Blob、Google Cloud Storage)使用同一云提供商,则数据流量要么遍历云提供商的网络基础架构,要么遍历公共互联网,具体取决于云提供商记录的网络服务能力。如果您的联合数据库实例和数据源位于不同的云提供商上,则数据流量将遍历公共互联网。

Atlas Data Federation 架构
点击放大

上图中的数据平面是数据所在的位置。您可以配置Atlas Data Federation来访问权限各种存储服务中的数据。 具体来说,您可以配置Atlas Data Federation,以跨Amazon Web Services区域、 Azure Blob 存储容器、 GCP存储桶、 Atlas集群、 HTTP和 HTTPS URL以及Atlas Online Archive访问权限Amazon Web Services S 存储桶中的数据。3要学习;了解有关配置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 会执行以下操作:

要了解更多信息,请参阅优化查询性能。

您可以使用 MongoDB 语言特定的驱动程序mongoshAtlas SQL连接到 Atlas Data Federation。 要了解更多信息,请参阅连接到您的联合数据库实例。

您可以使用 Atlas Data Federation 执行以下操作:

  • Atlas将Atlas 集群数据复制到 Parquet 或逗号分隔值(CSV)文件中,并写入AmazonCSV Amazon Web Services3AzureWeb Services S 存储桶或Azure Blob 存储。

  • 跨多个 Atlas 集群和在线归档进行查询,以获得 Atlas 数据的整体视图。

  • Atlas物化来自Atlas集群、 AmazonAmazon Web Services 3AzureWeb Services S 存储桶和Azure Blob 存储的聚合的数据。

  • 从Amazon Web Services S3 存储桶或AzureAmazon Web Services Blob 存储读取数据并将其导入AtlasAzureAtlas 集群。

注意

为了防止产生过多费用,请在与 S3 或 Azure Blob Storage 数据源相同的 AWSAzure 区域中创建 Atlas Data Federation。只能使用在 AWS 中创建的联合数据库实例来查询 AWS S3,并且只能使用在 Azure 中创建的联合数据库实例来查询 Azure Blob Storage。

Atlas Data Federation 通过以下区域之一路由您的联合数据库请求:

Data Federation区域
Amazon Web Services地区
Atlas 区域

美国北弗吉尼亚州

us-east-1

US_EAST_1

美国俄勒冈州

us-west-2

US_WEST_2

巴西圣保罗

sa-east-1

SA_EAST_1

爱尔兰

eu-west-1

EU_WEST_1

英国英格兰伦敦

eu-west-2

EU_WEST_2

德国法兰克福

eu-central-1

EU_CENTRAL_1

Tokyo, Japan

ap-northeast-1

AP_NORTHEAST_1

Seoul, South Korea

ap-northeast-2

AP_NORTHEAST_2

印度孟买

ap-south-1

AP_SOUTH_1

新加坡

ap-southeast-1

AP_SOUTHEAST_1

澳大利亚悉尼

ap-southeast-2

AP_SOUTHEAST_2

加拿大魁北克省蒙特利尔

ca-central-1

CA_CENTRAL_1

Data Federation区域
Azure区域
Atlas 区域

Virginia, USA

eastus2

US_EAST_2

巴西圣保罗

brazilsouth

BRAZIL_SOUTH

荷兰

westeurope

EUROPE_WEST

Data Federation区域
Google Cloud 区域
Atlas 区域

Iowa, USA

us-central1

CENTRAL_US

比利时

europe-west1

WESTERN_EUROPE

注意

运行联合查询时将产生费用。更多信息,请参阅 Data Federation 成本。

后退

查询联合数据

在此页面上