MongoDB Enterprise Edition Analytics Add-On
Databases for MongoDB Enterprise Edition 的分析插件将于 2025 年 3 月 31 日之后停用。
Databases for MongoDB EE (Enterprise Edition) Analytics Add-On 允许您运行长时间运行的分析查询或供应 MongoDB Connector for Business Intelligence(BI),以使查询数据与 BI 工具 (例如 Tableau) 兼容。
Databases for MongoDB EE Analytics Add-On 由两个组件组成:
Databases for MongoDB EE Analytics Add-On 解决了哪些问题?
-
大多数 BI 工具不适用于 MongoDB 文档数据模型。
MongoDB's文档数据模型由带有任意嵌套数据的复杂文档组成。 此模式使存储数据变得灵活,简单且可扩展。 但是,大多数 BI 工具都要求数据采用表格格式,这种格式是严格定义的,并存储在表格中,而不是文档中。 Databases for MongoDB EE Analytics Add-On 将 MongoDB 文档数据转换为可由 BI 工具查询和显示的 SQL 可读表格数据。
-
BI 查询成本高昂,可能会降低数据库性能。
长时间运行的查询可能会对部署的操作工作流程产生负面影响。 Databases for MongoDB EE Analytics Add-On 引入了额外的数据成员,用于将分析工作负载与操作工作负载隔离开来。 分析 Node 数据与其他节点保持同步,因此针对其运行的任何查询都会产生相同的结果。
分析节点
“分析”节点将分析与操作工作负载隔离开来,从而允许长时间运行的查询不会影响操作工作流程性能。 您可以直接通过使用 MongoDB 查询或通过 BI 连接器 (如果要运行 SQL 查询) 来使用分析节点。
在不使用 BI 连接器的情况下启用“分析”节点允许您运行文档类型的 MongoDB 查询或测试对生产数据的查询 而不 影响应用程序。
您可以通过连接字符串直接访问分析节点,例如:
mongodb://$USERNAME:$PASSWORD@host-0:30783,host-1:30783,host-2:30783/?readPreference=secondary&readPreferenceTags=nodeType%3AANALYTICS&replicaSet=replset
BI 的连接器
传统 BI 工具旨在处理表格,行和列数据。 Databases for MongoDB EE Analytics Add-On Connector for BI 允许您使用诸如 Tableau之类的工具,通过连接到 Analytics 节点并提供 SQL 接口来使用 SQL 查询 MongoDB 数据。
您可以使用您的用户名和密码以及主机 URL (如下所示)通过BI工具的 ODBC 连接器访问您的BI连接器:
xyz1234-scfr5rer-496hjgo6ghtg-biconnector.abc12345deft7.databases.appdomain.cloud:32757
如果没有分析节点,那么无法启用 Databases for MongoDB EE Analytics Add-On 连接器 for BI。
MongoDB EE 分析附加组件注意事项
在利用 Databases for MongoDB EE Analytics Add-On 之前,请考虑以下事项:
-
该附加组件仅可用于 Databases for MongoDB EE。
-
启用后,无法取消供应分析节点。
-
无法扩展分析成员的磁盘空间。
-
分析节点作为数据成员定价。 有关 Databases for MongoDB EE 的更多信息,请参阅 定价。
缩放主数据库成员的磁盘空间会导致分析成员按比例缩放。
配置分析节点和 BI 连接器
使用 Terraform 进行供应
Analytics Node 和 BI Connector 是可以添加到 Terraform 脚本的 group
属性。 您可以在此处看到一个示例:
data "ibm_resource_group" "test_acc" {
is_default = true
}
resource "ibm_database" "mongodb_enterprise" {
resource_group_id = data.ibm_resource_group.test_acc.id
name = "test"
service = "databases-for-mongodb"
plan = "enterprise"
location = "us-south"
adminpassword = "password12"
tags = ["one:two"]
group {
group_id = "member"
host_flavor {
id = "b3c.8x32.encrypted"
}
disk {
allocation_mb = 256000
}
}
group {
group_id = "analytics"
members {
allocation_count = 1
}
}
group {
group_id = "bi_connector"
members {
allocation_count = 1
}
}
timeouts {
create = "120m"
update = "120m"
delete = "15m"
}
}
data "ibm_database_connection" "mongodb_conn" {
deployment_id = ibm_database.mongodb_enterprise.id
user_type = "database"
user_id = "admin"
endpoint_type = "public"
}
output "bi_connector_connection" {
description = "BI Connector connection string"
value = data.ibm_database_connection.mongodb_conn.bi_connector.0.composed.0
}
output "analytics_connection" {
description = "Analytics Node connection string"
value = data.ibm_database_connection.mongodb_conn.analytics.0.composed.0
}
有关更多信息,请参阅 Terraform 文档。
请记住,分析 Node 必须在 BI 连接器 之前 缩放,否则您的请求将失败。
通过 IBM Cloud 数据库 API 进行供应
通过 API 进行供应是一个两步过程:
- 创建 Databases for MongoDB EE 部署。
- 之后,您可以使用 Scale Group 方法将 Analytics Node 和 BI Connector
group
添加到部署中。
分析 Node的示例:
curl --request PATCH \
--url https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups/analytics \
--header 'Authorization: Bearer <> \
--header 'Content-Type: application/json' \
--data '{
"group": {
"members": {
"allocation_count": 1
}
}
}'
BI 连接器示例:
curl --request PATCH \
--url https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups/bi_connector \
--header 'Authorization: Bearer <> \
--header 'Content-Type: application/json' \
--data '{
"group": {
"members": {
"allocation_count": 1
}
}
}'
请记住,分析 Node 必须部署 之前 BI 连接器,否则您的请求将失败。
要获取连接字符串以连接到分析 Node 和/或 BI 连接器,请遵循 此处 的指示信息。
使用 BI 工具进行连接
要使用常用 BI 工具连接到 MongoDB Connector for BI,请参阅: