Menu Docs
Página inicial do Docs
/
BI Connector
/

Modo de Esquema Automático (Persistir um Esquema no MongoDB)

Nesta página

  • Visão geral
  • Gerar novamente o esquema
  • Permissões de usuário para esquemas persistentes

A opção --schemaSource direciona mongosqld a usar um banco de banco de dados específico na instância do MongoDB conectada para armazenamento de esquema. mongosqld pode criar um novo banco de dados de dados para utilizar no armazenamento de esquema ou utilizar um banco de banco de dados existente.

Se você especificar um banco de dados existente que foi usado anteriormente para armazenamento de esquemas, a opção --schemaMode determinará se o mongosqld gravará novos dados de esquema no banco de dados especificado ou apenas lerá ele. Se você especificar um reconhecimento de data center que não existe no momento, será necessário definir --schemaMode como auto.

O comando de exemplo a seguir usa um reconhecimento de data center chamado sampleDb para armazenar informações de esquema e define --schemaMode como auto.

mongosqld --schemaSource sampleDb --schemaMode auto

Para saber mais sobre os modos de amostragem, consulte o Gráfico de Referência do Modo de Amostragem.

Por padrão, o mongosqld não faz uma nova amostra dos dados automaticamente após gerar o esquema. Especifique a opção --schemaRefreshIntervalSecs para direcionar mongosqld para uma nova amostra automática dos dados e gerar novamente o esquema em um agendamento fixo.

Para forçar uma atualização única do esquema, use o comando FLUSH SAMPLE do seu cliente SQL.

Se sua instância do MongoDB usar autenticação, você deverá especificar um usuário do MongoDB com permissão de gravação no reconhecimento de data center do esquema especificado, além das permissões descritas em amostragem em cache.

Para criar um usuário com as permissões necessárias para executar mongosqld com um esquema persistente, você pode criar uma função personalizada com as permissões mínimas necessárias, conforme descrito em Permissões de usuário para amostragem em cache, ou usar a função integrada readAnyDatabase . Em ambos os casos, o usuário também precisa de permissão de gravação no banco de banco de dados do esquema especificado.

db.getSiblingDB("admin").createUser(
{
user: "<username>",
pwd: "<password>",
roles: [
{ "role": "readAnyDatabase", "db": "admin" },
{ "role": "readWrite", "db": "<dbname>" }
]
}
)

No exemplo a seguir, um usuário chamado bicUser com a senha myPass fornece credenciais para ler e atualizar um reconhecimento de data center de esquemas chamado schemaDb.

mongosqld --auth -u bicUser -p myPass --schemaSource schemaDb --schemaMode auto

Voltar

Modo de esquema standalone (amostragem em cache)