Docs 菜单
Docs 主页
/ /
/ / / /

全球数据

Atlas 支持在全球范围内分发您的数据,以确保高可用性、低延迟,并满足监管合规要求。仔细规划数据的分发可确保您满足数据主权合规要求,例如欧盟的《通用数据保护条例》(GDPR)。您可以在需要确保数据主权的区域设置一个或多个集群,并通过适当的区域或地理分片键,将特定数据写入正确的集群或节点。

下图显示了一个全球分布式拓扑结构。它有 3 个集群,这些集群分别分布在 3 个不同的地理区域。每个集群在3个区域中分布着相同的5个节点。

此拓扑结构允许应用程序将特定区域的数据仅发送到该区域的适当集群。因此,应用程序会将受 GDPR 保护的欧盟数据写入位于欧盟的集群 2。同样,亚太地区的特定数据仅写入集群 3,其中所有节点都位于亚太地区。任何全局数据或非区域特定的数据都会写入所有 3 个集群。这确保任何一个集群的服务中断都不会对应用程序的其他部分产生影响。

三个集群分布在三个地理区域的九个区域。

对于大型全球企业或全球应用程序,架构师可能希望在多个地理区域或大洲部署集群。一般来说,最佳实践是在每个地理区域部署独立的多区域集群。这使应用程序即使在单个区域中也能保持高可用性,并使数据主权要求保持简单明了。代理或重定向层应识别请求的来源,并将其分配到正确的地理区域。

虽然客户可以利用 Atlas 的多区域部署在多个地理区域进行部署,但他们往往无法避免遵守数据主权要求所带来的复杂性。副本集原生地将所有数据复制到所有从节点,对于以用户为中心的数据,必须满足 GDPR 等主权要求,这是不可行的,这种架构只适用于全球一致的公共参考数据,而没有主权要求。集群可以使用分片键进行分片,分片键包含数据应存储在哪里的区域信息,以符合主权要求,Atlas 有一项名为 Global Clusters 的功能,可简化与地理区域相对应的分片键的设置。然而,在实践中,企业选择在不同区域为同一应用程序部署单独的集群,以避免处理确保应用程序代码按地理区域正确设置分片键的复杂性。

Global Atlas 集群用于最复杂的部署,因此需要非常仔细的规划。在几乎所有情况下,多区域部署范式都可以满足您的需求。

如果出现以下情况,您可能需要考虑全局部署策略:

  • 您需要一个全局连接字符串。

  • 您需要在所有集群/分片中执行全局聚合。

  • 您需要具备在一个逻辑集群中从任何位置读取/写入所有集群/分片的能力,同时还能够进行区域性读取/写入。

重要

Atlas全球集群的复杂性,以及特定地理区域的独特需求和提供,使得难以总结出统一的最佳实践。请联系 MongoDB 的Professional Services团队,讨论您的具体要求。

后退

多区域

在此页面上