mongotranslate
MongoDB工具 >MongoDB BI连接器 >将关系架构映射到MongoDB > 独立模式模式(缓存采样)
2.3版的新功能:
默认情况下,mongosqld
对连接的MongoDB实例上的每个集合进行采样,并生成架构的关系表示,然后将其缓存在内存中。
注意
如果已authentication
启用,请确保您的MongoDB用户具有正确的权限。请参阅
下面的用户权限。
默认情况下,mongosqld
生成架构后不会自动重新采样数据。指定--schemaRefreshIntervalSecs
用于定向的
选项,
mongosqld
以按照固定的时间表自动重新采样数据并重新生成架构。
如果mongosqld
创建的架构不满足您的BI工作负载需求,则可以手动生成架构文件并根据需要进行编辑。
要了解有关采样模式的更多信息,请参阅 采样模式参考表。
如果您的MongoDB实例使用身份验证,并且希望使用缓存的采样,则BI Connector实例也必须使用身份验证。通过该mongosqld
程序连接到MongoDB的管理员用户必须具有
从您要从中采样数据的所有命名空间中读取的权限。
如果希望对所有名称空间进行采样,则admin用户需要以下特权:
listDatabases
在集群上listCollections
在每个数据库上find
在每个数据库上或者,创建一个具有内置readAnyDatabase角色的用户:
注意
在授予用户权限之前,请注意readAnyDatabase角色随附的所有特权 。
要对所有名称空间进行采样,请在mongosqld
不使用该--sampleNamespaces
选项的情况下
开始。
如果您希望对特定的命名空间进行采样,则admin用户需要以下特权:
listCollections
对于采样了所有集合的每个数据库find
在每个集合或对所有集合进行采样的每个数据库上或者,创建一个具有内置readAnyDatabase角色的用户。有关创建具有此角色的用户的示例,请参见“ 采样所有命名空间”部分。
注意
在授予用户权限之前,请注意readAnyDatabase角色随附的所有特权 。
以下示例在mongo shell中创建一个
自定义角色,该
角色具有对
数据库中每个集合进行采样所需的最低特权:test
注意
上例中的用户没有
listDatabases
特权,因此--sampleNamespaces
在运行时,必须使用选项指定一个数据库来采样数据
mongosqld
。
mongosqld
启用身份验证开始¶mongosqld
在启用身份验证的情况下运行,并使用该--sampleNamespaces
选项对test
数据库中所有集合的数据进行采样: