Docs 菜单
Docs 主页
/
MongoDB 阿特拉斯
/ /

部署一个联合数据库实例。

在此页面上

  • 必需的访问权限
  • 先决条件
  • 使用 Feed Downstream Systems 向导
  • 使用“探索样本数据”向导
  • 使用“跨集群查询数据”向导
  • 后续步骤

预计完成时间:15 分钟

本部分教程将指导您在 Atlas 用户界面中使用以下快速入门向导来部署联合数据库实例:

  • Feed Downstream Systems 向导可帮助您设置联合数据库实例,该实例可从 Atlas 集群导出数据、将数据转换为 Parquet CSV BSON MongoDB 扩展 JSON ,并使用 Atlas Triggers 按指定时间间隔将数据复制到 AWS S 存储桶。3

  • 使用样本数据浏览”向导可帮助您设置加载样本数据的联合数据库实例,以演示如何连接到联合数据库实例并运行查询。

  • 跨集群查询数据向导可帮助您设置联合数据库实例,该实例访问多个 Atlas 集群的数据,以便您可以跨所有集群的集合运行联合查询。

要了解有关存储配置选项的更多信息,请参阅为联合数据库实例定义数据存储。

要部署联合数据库实例,您必须对该项目拥有 Project Owner访问权限。在部署联合数据库实例之前,具有Organization Owner访问权限的用户必须将自己作为Project Owner添加到项目中。

要完成本教程的这一部分,请确保满足以下先决条件:

  • 创建一个MongoDB Atlas帐户(如果还没有帐户)。

  • 对于 Feed Downstream Systems 向导,您需要:

  • 对于“跨集群查询数据”向导,您需要:

    • 至少有一个 Atlas 集群部署在您将用于联合数据库实例的项目中。

    • 至少一个数据库集合。如果还没有集合,可以加载示例数据

Feed Downstream Systems 向导可帮助您设置联合数据库实例,该实例可定时将数据从 Atlas 集群连续写入 AWS S3 存储桶。

1
2
3
  1. 点击 Create New Federated Database(新建联合数据库)下拉列表。

  2. 选择 Feed Downstream Systems

4
5

默认值为 FederatedDatabaseInstance[n]。一旦联合数据库实例被创建, 您将无法更改它的名称。

6
  1. 从下拉列表中选择要用作数据源的 Atlas 集群。默认情况下,Atlas Data Federation 会添加此集群中的所有集合。要使用部分数据,请单击Specific Collections ,展开数据库,然后选择要添加到联合数据库实例的集合。

    提示

    要筛选数据库和集合,请在Specific Collections字段中输入文本。该对话框仅显示名称与搜索条件匹配的数据库和集合。

  2. 单击 Continue(连接)。

7

您可以从角色选择下拉列表中选择 Atlas 已获得授权的现有AWS IAM 角色,也可以选择Authorize an AWS IAM Role以授权新角色。

如果您选择了一个已经被 Atlas 授权的现有角色,请继续下一步,列出您的 AWS S3 存储桶。

如果要为现有角色授权 Atlas 或创建新角色, 请先完成以下步骤, 然后再继续下一步:

  1. 从下拉列表中选择Authorize an AWS IAM Role以授权新角色或选择现有角色。

  2. Role Authorization部分中使用AWS ARN和唯一外部 ID,将 Atlas 添加到现有或新AWS IAM 角色的信任关系中。

    在 Atlas 用户界面中,单击以下选项之一:

    • Create new AWS IAM role 演示如何使用ARN和唯一外部ID将Atlas添加到新Amazon Web Services IAM角色的信任关系中。 按照 Atlas 用户界面中的步骤创建新角色。 要了解更多信息,请参阅使用Amazon Web Services CLI创建新角色。

      授权新角色时,如果退出工作流程:

      • 在验证角色之前,Atlas 不会创建联合数据库实例。您可以转到 AtlasIntegrations 页面 授权 新角色,然后在拥有 AWS IAM 角色 ARN 时再次启动 部署联合数据库实例 的过程。

      • 验证角色后,Atlas 将不会创建联合数据库实例。 但是,此角色可在角色选择下拉列表找到, 可用于创建联合数据库实例。您无需 重新授权此角色。

    • Use existing AWS IAM role展示如何使用ARN和唯一外部 ID 将 Atlas 添加到现有AWS IAM角色的信任关系。按照 Atlas 用户界面中的步骤操作,将 Atlas 添加到现有角色的信任关系。要了解更多信息,请参阅为现有角色添加信任关系

    重要

    如果您之后想要修改自定义 AWS 角色的 ARN,则请确保在此角色的访问策略中,对联合数据库实例所用 S3 资源拥有适当的访问权限。

    要了解更多信息,请参阅设置统一 AWS 访问创建云提供商访问角色。

  3. 单击 Validate AWS IAM role(连接)。

8
  1. 输入您 S3 存储桶的名称。

  2. 按照 Atlas UI 所示步骤,为您的 AWS IAM 角色指定访问策略。

  3. 单击 Validate AWS S3 bucket access(连接)。

  4. 单击 Continue(连接)。

9

使用 部分中的 $out 安排一个 触发器 ,以持续将数据从 Atlas 集群复制到 S3Schedule Queries 存储桶。

  1. 使用Repeat Once By下拉列表指定从 Atlas 集群提取数据的频率。

  2. 可选。 指定 Atlas Data Federation 由于任何原因错过查询时是否必须重新运行同一查询。 默认情况下,此功能处于禁用状态,以允许 Atlas Data Federation 重新运行错过的查询。 或者,要跳过错过的查询而不追赶,请开启Skip Catch Up Events

  3. 可选。 选择 Atlas Data Federation 将数据写入S 3存储桶时,您所需的数据格式。 Atlas Data Federation 支持 Parquet CSV BSON MongoDB 扩展 JSON。

  4. 指定Max File Size以限制 Atlas Data Federation 写入S3存储桶的每个文件的大小。 例如,如果您将Max File Size设置为 100 MB,并且查询返回 1 GB 数据,则 Atlas Data Federation 会将该查询以 10 个文件的形式写入S3存储桶,每个文件 100 MB。

  5. 输入Amazon Web Services 前缀 用于目标 S3 存储桶。

  6. Date Field中输入索引日期字段的名称,然后使用下拉列表指定其值的格式。 要复制到下游的每个集合都必须有一个将时间戳存储为值的索引字段。

  7. 单击 Continue(连接)。

10

“浏览样本数据”向导可帮助您设置加载样本数据的联合数据库实例。

1
2
3
  1. 点击 Create New Federated Database(新建联合数据库)下拉列表。

  2. 选择 Explore with Sample Data

4
5

此联合数据库实例包括以下示例数据集,您可以用它们来练习运行查询:

  • /airbnb/listingsAndReviews/{bedrooms int}/{review_scores.review_scores_rating int}/

    此路径引用了airbnb数据集,其中包含度假屋列表详细信息和客户评论。 要了解有关此数据集的更多信息,请参阅示例 AirBnB 列表数据集。

    对于此路径,联合数据库实例使用针对bedrooms字段和review_scores.review_score_ratings字段的查询优化的分区。

  • /analytics/accounts/{limit int}/

    此路径引用了analytics数据集,其中包含典型金融服务应用程序的数据。 要了解有关此数据集的更多信息,请参阅样本分析数据集。

    对于此路径,联合数据库实例使用针对limit字段查询优化的分区。

  • /analytics/customers/{birthdate isodate}/

    此数据引用了analytics数据集,其中包含典型金融服务应用程序的集合。要了解有关此数据集的更多信息,请参阅示例分析数据集。

    对于此路径,联合数据库实例使用针对birthdate字段查询优化的分区。

  • /analytics/transactions/{account_id int}/

    此路径引用了analytics数据集,其中包含典型金融服务应用程序的数据。 要了解有关此数据集的更多信息,请参阅样本分析数据集。

    对于此路径,联合数据库实例使用针对account_id字段查询优化的分区。

  • /mflix/movies/{type string}/{year int}/

    此路径引用了mflix数据集,其中包含有关电影和电影院的数据。 要了解有关此数据集的更多信息,请参阅样本 Mflix 数据集。

    对于此路径,联合数据库实例使用针对typeyear字段的查询优化的分区。

  • /mflix/sessions.json

    此路径引用了mflix数据集,其中包含有关电影和电影院的数据。 要了解有关此数据集的更多信息,请参阅样本 Mflix 数据集。

    此路径不包含任何分区属性, 因此在对集合中的数据进行查询时, Data Federation 将搜索集合中的所有文件。

  • /mflix/theaters/{theaterId string}/{location.address.zipcode string}/

    此路径引用了mflix数据集,其中包含有关电影和电影院的数据。 要了解有关此数据集的更多信息,请参阅样本 Mflix 数据集。

    对于此路径,联合数据库实例使用针对theaterIdlocation.address.zipcode字段的查询优化的分区。

  • /mflix/users.json

    此路径引用了mflix集合,其中包含有关电影和电影院的数据。 要了解有关此数据集的更多信息,请参阅样本 Mflix 数据集。

    此路径不包含任何分区属性, 因此在对集合中的数据进行查询时, 联合数据库实例将搜索集合中的所有文件。

  • /nyc-yellow-cab-trips/{trip_start_isodate isodate}/{passenger_count int}/{fare_type string}/

    此路径引用了nyc-yellow-cab-trips数据集,其中包含行程数据,包括行程日期、票价和乘客数量。

    对于此路径,联合数据库实例使用针对trip_start_isodatepassenger_countfare_type字段的查询优化的分区。

跨集群查询数据向导可帮助您设置联合数据库实例,此实例可访问来自多个 Atlas 集群的数据。

1
2
3
  1. 点击 Create New Federated Database(新建联合数据库)下拉列表。

  2. 选择 Query Data Across Clusters

4
5

默认值为 FederatedDatabaseInstance[n]。一旦联合数据库实例被创建, 您将无法更改它的名称。

6
  1. 从下拉列表中选择一个Atlas 集群,将其用作数据源。在此下拉菜单中, Atlas 仅显示 您当前 Atlas 项目中的集群。

  2. 展开数据库并选择要添加到联合数据库实例中的集合。

    提示

    要筛选数据库和集合,请在Specific collections字段中输入文本。该对话框仅显示名称与搜索条件匹配的数据库和集合。

  3. 可选。 展开Cluster Read Preference设置以配置以下字段。

    字段名称
    说明
    Read Preference Mode

    指定您想将读取请求路由到的副本集成员。 您可以从下拉列表中选取 其一:

    • primary — 将所有读取请求路由到副本集主节点

    • primaryPreferred - 仅当primary不可用时,将所有读取请求路由到副本集主节点和从节点成员

    • secondary - 将所有读取请求路由到副本集的从节点

    • secondaryPreferred - 仅当 成员不可用时,将所有读取请求路由到副本集的从 节点和分片集群上的主secondary 节点

    • nearest - 将所有读取请求路由到符合条件的随机副本集成员,无论该成员是主节点还是从节点

    如果将 Atlas 集群添加为商店,则默认值为secondary

    如果您没有在联合数据库实例存储配置中设置任何内容,则默认值为nearest 。要了解更多信息,请参阅读取偏好模式。

    TagSets
    指定标签或标签规范文档列表,其中包含要将读取请求路由到的副本集节点的名称和值对。要了解更多信息,请参阅读取偏好标签集。
    Maxstaleness Seconds
    指定从节点读取的最大复制延迟或“过时时间”。要了解更多信息,请参阅读取偏好 maxStalenessSeconds。
  4. 单击Add Atlas cluster and collection ,并对要用作数据源的所有 Atlas 集群重复这些步骤。

  5. 添加完集群后,单击Continue

7

现已部署联合数据库实例,请继续为联合数据库实例配置连接