Atlas Data Federation遵循以下原则:
安全连接:使用Atlas Data Federation时,联合数据库实例驻留在区域性 VPC中。流向Atlas集群或云存储的所有数据流量都使用 TLS加密,这是Atlas Data Federation提供的主节点 (primary node in the replica set)网络安全形式。如果您的联合数据库实例和数据源(Atlas 集群、S3 、Blob 或 Google Cloud Storage)股票同一个云提供商,则数据流量将使用云提供商的网络基础架构或公共互联网,具体取决于云提供商的功能。如果位于不同的云提供商,则数据流量将使用公共互联网。
查询路由: Atlas Data Federation和联合数据库实例使用统一的接口来抽象根本的数据源,以便在多个数据源之间路由查询。联合数据库实例可创建虚拟集合,以类似MongoDB 的格式表示外部数据,启用对外部数据源的访问权限。逻辑数据库群组虚拟集合和连接的集群集合分组到统一的命名空间中,以便跨不同数据源进行无缝查询。
查询解析:当您运行查询时, Atlas Data Federation会对其进行解析,并跨虚拟集合中映射的数据源规划有效的执行路径。 Atlas会尽可能将过滤和聚合等操作下推到源。对于其他操作,例如跨多个源的联接或聚合,联合数据库实例会在内部检索和处理数据,然后组合逻辑数据库中的结果以提供统一的结果设立。这样就可以像查询单个数据库一样查询不同的数据源。
下图说明了这些原则:

数据平面
上图中的数据平面是数据所在的位置。您可以配置Atlas Data Federation来访问权限各种存储服务中的数据。具体来说,您可以配置Atlas Data Federation来访问权限AWS S3 存储桶、 Azure Blob Storage 容器、Google Cloud Storage 存储桶、 Atlas集群、 Atlas Online Archive 以及HTTP和 HTTPS URL中的数据。要学习;了解有关配置Atlas Data Federation以访问权限数据存储的更多信息,请参阅 为联合数据库实例配置数据存储。
计算平面
Atlas Data Federation保留数据局部性并最大限度地利用本地计算,从而最大限度地减少数据传输并优化性能。上图中的计算平面显示了Atlas Data Federation处理所有请求的位置。 Atlas Data Federation在距离数据存储最近的地区使用弹性代理池来进程查询数据。要学习;了解有关支持区域的更多信息,请参阅Atlas Data Federation区域。
Atlas Data Federation不会保留根本的数据,但会在连接的前端地区临时保留游标数据。查询执行所需的任何元数据都存储在全局后端。使用与数据地区相同的前端地区有助于遵守数据主权法规。
控制平面
上图中的控制平面处理关键功能,例如 TLS 终止、管理游标以及在查询执行期间临时存储游标数据。它还与计算平面协调,处理用户查询并聚合最终结果。
执行查询时,它首先由控制平面处理,控制平面决定最有效的执行策略。然后,将此计划的查询分布式到计算平面,计算平面直接对数据存储执行查询逻辑,并将结果返回控制平面。如果您唯一的数据源是单个Atlas 集群,则控制平面会直接向集群发出查询,绕过计算平面并简化操作。要学习;了解更多信息,请参阅查询联合数据库实例。
然后,您可以为联合数据库实例设置基于角色的访问控制。您可以通过全局连接选项或将其固定到特定区域来控制客户端连接到联合数据库实例的方式。要了解详情,请参阅为联合数据库实例配置连接。