部署一个联合数据库实例。
预计完成时间:15 分钟
本教程的这一部分将指导您在Atlas 用户界面中使用以下快速入门向导来部署联合数据库实例:
Feed Downstream Systems 向导可帮助您设立联合数据库实例,用于从Atlas 集群导出数据,将数据转换为 Parquet 、CSV 、BSON 或MongoDB 扩展JSON ,并使用 按指定时间间隔将数据复制到Amazon Web Services S3 Atlas Triggers存储桶。
“使用样本数据浏览”向导可帮助您设立加载示例数据的联合数据库实例,以演示如何连接到联合数据库实例并运行查询。
跨集群查询数据向导可帮助您设立联合数据库实例,该实例访问多个Atlas集群的数据,以便您可以跨所有集群的集合运行联合查询。
要学习;了解有关存储配置选项的更多信息,请参阅为联合数据库实例定义数据存储。
必需的访问权限
要部署联合数据库实例,您必须对该项目拥有 Project Owner
访问权限。在部署联合数据库实例之前,具有Organization Owner
访问权限的用户必须将自己作为Project Owner
添加到项目中。
先决条件
要完成本教程的这一部分,请确保满足以下先决条件:
创建一个MongoDB Atlas帐户(如果还没有帐户)。
对于 Feed Downstream Systems 向导,您需要:
,Amazon Web ServicesCLI 配置为访问权限您的Amazon Web Services 帐户 。或者,您必须有权访问权限Amazon Web Services 管理控制台并有权创建 IAM 角色。
一个 S3 存储桶,用于存储提取到的数据。
至少一个带有数据库的 Atlas 集群。
对于“跨集群查询数据”向导,您需要:
至少一个Atlas 集群部署在您将用于联合数据库实例的项目中。
至少一个数据库集合。 如果还没有集合,可以加载示例数据。
使用 Feed Downstream Systems 向导
Feed Downstream Systems 向导可帮助您设置联合数据库实例,该实例可定时将数据从 Atlas 集群连续写入 AWS S3 存储桶。
为Atlas选择一个Amazon Web ServicesAmazon Web Services IAM角色。Atlas
您可以从角色选择下拉列表中选择 Atlas 已获得授权的现有AWS IAM 角色,也可以选择Authorize an AWS IAM Role以授权新角色。
如果您选择了一个已经被 Atlas 授权的现有角色,请继续下一步,列出您的 AWS S3 存储桶。
如果要为现有角色授权 Atlas 或创建新角色, 请先完成以下步骤, 然后再继续下一步:
从下拉列表中选择Authorize an AWS IAM Role以授权新角色或选择现有角色。
在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创建新角色。
授权新角色时,如果退出工作流程:
Use existing AWS IAM role展示如何使用ARN和唯一外部 ID 将 Atlas 添加到现有Amazon Web Services IAM角色的信任关系。按照 Atlas 用户界面中的步骤操作,将 Atlas 添加到现有角色的信任关系。 要了解更多信息,请参阅为现有角色添加信任关系。
重要
如果您之后想要修改自定义 AWS 角色的 ARN,则请确保在此角色的访问策略中,对联合数据库实例所用 S3 资源拥有适当的访问权限。
要学习;了解更多信息,请参阅设置统一Amazon Web Services访问权限和创建云提供商访问角色。
单击 Validate AWS IAM role(连接)。
安排数据提取。
使用 部分中的 $out 安排一个trigger ,以持续将数据从Atlas 集群复制到 S3Schedule Queries 存储桶。
使用Repeat Once By下拉列表指定从Atlas 集群提取数据的频率。
可选。 指定 Atlas Data Federation 由于任何原因错过查询时是否必须重新运行同一查询。 默认情况下,此功能处于禁用状态,以允许 Atlas Data Federation 重新运行错过的查询。 或者,要跳过错过的查询而不追赶,请开启Skip Catch Up Events 。
可选。 选择 Atlas Data Federation 将数据写入S 3存储桶时,您所需的数据格式。 Atlas Data Federation 支持 Parquet 、 CSV 、 BSON 和 MongoDB 扩展 JSON。
指定Max File Size以限制 Atlas Data Federation 写入S3存储桶的每个文件的大小。 例如,如果您将Max File Size设置为 100 MB,并且查询返回 1 GB 数据,则 Atlas Data Federation 会将该查询以 10 个文件的形式写入S3存储桶,每个文件 100 MB。
输入Amazon Web Services 前缀 用于目标 S3 存储桶。
在Date Field中输入索引日期字段的名称,然后使用下拉列表指定其值的格式。 要复制到下游的每个集合都必须有一个将时间戳存储为值的索引字段。
单击 Continue(连接)。
使用“探索样本数据”向导
“浏览样本数据”向导可帮助您设置加载样本数据的联合数据库实例。
此联合数据库实例包括以下示例数据集,您可以用它们来练习运行查询:
/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 数据集。对于此路径,联合数据库实例使用针对
type
和year
字段的查询优化的分区。/mflix/sessions.json
此路径引用了
mflix
数据集,其中包含有关电影和电影院的数据。 要了解有关此数据集的更多信息,请参阅样本 Mflix 数据集。此路径不包含任何分区属性, 因此在对集合中的数据进行查询时, Data Federation 将搜索集合中的所有文件。
/mflix/theaters/{theaterId string}/{location.address.zipcode string}/
此路径引用了
mflix
数据集,其中包含有关电影和电影院的数据。 要了解有关此数据集的更多信息,请参阅样本 Mflix 数据集。对于此路径,联合数据库实例使用针对
theaterId
和location.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_isodate
、passenger_count
和fare_type
字段的查询优化的分区。
使用“跨集群查询数据”向导
跨集群查询数据向导可帮助您设置联合数据库实例,此实例可访问来自多个 Atlas 集群的数据。
指定要用作数据源的Atlas集群。
从下拉列表中选择一个Atlas 集群,将其用作数据源。在此下拉菜单中, Atlas 仅显示 您当前 Atlas 项目中的集群。
展开数据库并选择要添加到联合数据库实例中的集合。
提示
要过滤数据库和集合,请在Specific collections字段中输入文本。 该对话框仅显示名称与搜索条件匹配的数据库和集合。
可选。 展开Cluster Read Preference设置以配置以下字段。
字段名称说明Read Preference Mode
指定您想将读取请求路由到的副本集成员。 您可以从下拉列表中选取 其一:
primary
— 将所有读取请求路由到副本集主节点 (primary node in the replica set)primaryPreferred
- 仅当primary
不可用时,将所有读取请求路由到副本集主节点 (primary node in the replica set)和从从节点(secondary node from replica set)成员secondary
- 将所有读取请求路由到副本集的从节点secondaryPreferred
- 仅当 成员不可用时,将所有读取请求路由到副本集的从 主节点 (primary node in the replica set) 和分片集群上的 从节点(secondary node from replica set) 分片的secondary
nearest
- 将所有读取请求路由到符合条件的随机副本集成员,无论该成员是主节点 (primary node in the replica set)还是从从节点(secondary node from replica set)
如果将Atlas 集群添加为存储,则默认值为
secondary
。如果您没有在联合数据库实例存储配置中设立任何内容,则默认值为
nearest
。 要学习;了解更多信息,请参阅读取偏好模式。TagSets
指定标签或标签规范文档列表,其中包含要将读取请求路由到的副本集节点的名称和值对。 要学习;了解更多信息,请参阅读取偏好标签集。
Maxstaleness Seconds
指定从节点读取的最大复制延迟或“过时时间”。 要学习;了解更多信息,请参阅读取偏好 maxStalenessSeconds。
单击Add Atlas cluster and collection ,并对要用作数据源的所有 Atlas 集群重复这些步骤。
添加完集群后,单击Continue 。
后续步骤
现已部署联合数据库实例,请继续为联合数据库实例配置连接。