部署一个联合数据库实例。
本页介绍如何部署联合数据库实例以访问 Atlas 集群中的数据。
必需的访问权限
要部署联合数据库实例,您必须对项目拥有 Project Owner
访问权限。 在部署联合数据库实例之前,具有Organization Owner
访问权限的用户必须将自己作为Project Owner
添加到项目中。
先决条件
在开始之前,您需要:
创建一个 MongoDB Atlas帐户(如果您还没有帐户)。
创建Atlas 集群(如果还没有)。 Atlas Data Federation 支持部署到 Amazon Web Services 、 Azure或 Google Cloud Platform 的 Atlas 集群。
注意
要将 Atlas 集群用作数据存储,您必须将其部署到与联合数据库实例相同的项目中。
如果尚未将数据添加到您的 Atlas 集群上的至少一个collection中,请添加数据。
步骤
要使用 Atlas CLI 创建新的 Data Federation 数据库,请运行以下命令:
atlas dataFederation create <name> [options]
要学习;了解有关命令语法和参数的更多信息,请参阅Atlas CLI AtlasdataFederation create 的 文档。
选择Atlas Data Federation将进程针对联合数据库实例的查询的云提供商。
您可以选择AmazonAmazon Web Services AzureGoogle Cloud PlatformWeb Services 、 Azure或Google Cloud Platform 。创建联合数据库实例后,您无法更改Atlas Data Federation处理查询的云提供商。
如果要查询 Atlas 集群中的数据,我们建议您选择与集群的云提供商相同的云提供商。 要查询对象存储(例如AWS S3或 Azure Blob Storage)中的数据,您必须为联合数据库实例选择与对象存储相同的云。
指定您的数据存储。
从Data Sources部分选择联合数据库实例的数据集。
单击Add Data Sources选择您的数据存储。
指定数据源。
选择Atlas Cluster ,为 Atlas 集群上的数据配置联合数据库实例。
与
stores.[n].provider
JSON 配置设置对应。在Provide Namespaces in this project部分中选择要用作数据存储的 Atlas 集群。
与
stores.[n].clusterName
JSON 配置设置对应。展开数据库并选择要添加到联合数据库实例中的集合。
要过滤数据库和集合,请在Search database or collection字段中输入文本。 该对话框仅显示名称与搜索条件匹配的数据库和集合。
对应于
databases.[n].collections.[n].dataSources.[n].database
和databases.[n].collections.[n].dataSources.[n].collection
JSON配置设置。可选。 展开 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。
单击 Next(连接)。
创建虚拟数据库、集合和视图,并将数据库、集合和视图映射到数据存储。
(可选)单击对于:
数据库,用于编辑数据库名称。默认值为
VirtualDatabase[n]
。与
databases.[n].name
JSON 配置设置对应。集合,可编辑集合名称。 默认值为
VirtualCollection[n]
。与
databases.[n].collections.[n].name
JSON 配置设置对应。视图,用于编辑视图名称。
您可以单击:
从Data Sources部分的下拉列表中选择Atlas Cluster 。
拖放数据存储以与集合映射。
与
databases.[n].collections.[n].dataSources
JSON 配置设置对应。
Atlas 集群数据存储的配置应如下所示:
1 { 2 "stores" : [ 3 { 4 "name" : "<string>", 5 "provider": "<string>", 6 "clusterName": "<string>", 7 "projectId": "<string>", 8 "readPreference": { 9 "mode": "<string>", 10 "tagSets": [ 11 [{"name": "<string>", "value": "<string>"},...], 12 ... 13 ], 14 "maxStalenessSeconds": <int> 15 } 16 } 17 ], 18 "databases" : [ 19 { 20 "name" : "<string>", 21 "collections" : [ 22 { 23 "name" : "<string>", 24 "dataSources" : [ 25 { 26 "storeName" : "<string>", 27 "database" : "<string>", 28 "databaseRegex": "<string>", 29 "collection" : "<string>", 30 "collectionRegex" : "<string>", 31 "provenanceFieldName": "<string>" 32 } 33 ] 34 } 35 ], 36 "views" : [ 37 { 38 "name" : "<string>", 39 "source" : "<string>", 40 "pipeline" : "<string>" 41 } 42 ] 43 } 44 ] 45 }
要学习;了解有关这些配置设置的更多信息,请参阅为联合数据库实例定义数据存储。
定义Atlas数据存储。
编辑
stores
用户界面中显示的JSON配置设置。 您的stores
配置设置应如下所示:"stores" : [ { "name" : "<string>", "provider" : "<string>", "clusterName" : "<string>", "projectId": "<string>" "readPreference": { "mode": "<string>", "tagSets": [ [{"name": "<string>", "value": "<string>"},...], ... ], "maxStalenessSeconds": <int> }, "readConcern": { "level": "<string>" } } ] 要学习;了解有关这些配置设置的更多信息,请参阅
stores
。定义联合数据库实例虚拟数据库、集合和视图。
编辑
databases
用户界面中显示的JSON配置设置。 您的databases
配置设置应如下所示:"databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "database" : "<string>", "databaseRegex": "<string>", "collection" : "<string>", "collectionRegex" : "<string>", "provenanceFieldName": "<string>" } ] } ] } ] 要学习;了解有关这些配置设置的更多信息,请参阅
databases
。